Function at 0x44fb80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5dd203
mov eax, dword fs:[0]
push eax
sub esp, 0x268
mov eax, dword [0x714bc0]
xor eax, esp
mov dword [esp + 0x260], eax
push ebx
push esi
push edi
mov eax, dword [0x714bc0]
xor eax, esp
push eax
lea eax, [esp + 0x278]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov esi, ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c], ebx
call fcn.004c4264
xor edi, edi
push esi
lea ecx, [esp + 0x3c]
mov dword [esp + 0x284], edi
call fcn.004c4760
mov ecx, dword [ebx + 0x20]
lea eax, [esp + 0x1bc]
push eax
push ecx
mov dword [esp + 0x1c4], edi
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1d0], edi
call dword [fcn.005e59e8]
mov edi, dword [ebx + 0x1a8]
xor esi, esi
test edi, edi
jle 0x44fc81
nop
test esi, esi
js 0x44fd3d
cmp esi, dword [ebx + 0x1a8]
jge 0x44fd3d
mov edx, dword [ebx + 0x1a4]
lea eax, [edx + esi*4]
mov eax, dword [eax]
test eax, eax
je 0x44fc4c
push eax
call fcn.004b9c03
add esp, 4
cmp dword [ebx + 0x168], 0
je 0x44fc7c
mov eax, dword [ebx + 0x94]
push 0
push 0
push 0x40d
push eax
call dword [fcn.005e5a00]
test eax, eax
je 0x44fc7c
lea ecx, [esi + 1]
push ecx
push ebx
lea ecx, [ebx + 0x74]
call fcn.004c6e74
inc esi
cmp esi, edi
jl 0x44fc20
push 0xffffffffffffffff
lea ecx, [ebx + 0x1a0]
push 0
call fcn.005a37fc
push 0xffffffffffffffff
lea ecx, [ebx + 0x1b4]
push 0
call fcn.004c55a2
push 0x6d7a78
lea ecx, [esp + 0x14]
mov dword [esp + 0x5c], 1
call fcn.00401c40
lea edx, [esp + 0x10]
push edx
mov ecx, ebx
mov byte [esp + 0x284], 1
call fcn.004c0cfa
mov ecx, dword [0x716a80]
mov eax, 1
xor esi, esi
mov dword [esp + 0x26a], 0
mov word [esp + 0x268], ax
test ecx, ecx
je 0x44fd23
xor eax, eax
nop
mov dx, word [eax + 0x716a84]
lea eax, [esp + 0x268]
push eax
push ecx
lea ecx, [esp + 0x18]
mov word [esp + 0x272], dx
call fcn.00441b40
inc esi
lea eax, [esi*8]
mov ecx, dword [eax + 0x716a80]
test ecx, ecx
jne 0x44fcf0
call fcn.004ba35d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x44fd42
push 0x80004005
call fcn.00401000
call fcn.004bad00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov ebx, 0x6d7a78
shr ebx, 0x10
mov byte [esp + 0x280], 2
test ebx, ebx
jne 0x44fd85
mov ecx, 0x6d7a78
movzx esi, cx
push esi
call fcn.004c3e67
test eax, eax
je 0x44fd95
push esi
push eax
lea ecx, [esp + 0x28]
call fcn.00401d80
jmp 0x44fd95
push 0
push 0x6d7a78
lea ecx, [esp + 0x28]
call fcn.00401f70
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x280], 3
mov eax, dword [esi + 0x108]
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x104]
mov ecx, esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x70], eax
call fcn.004c2d3f
test al, 0x20
jne 0x44fde0
mov edx, dword [esi + 0x104]
push edx
lea eax, [esp + 0x1c0]
push eax
lea ecx, [esp + 0x40]
call fcn.004c75b2
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 0xc], 0
je 0x451e50
mov edx, dword [esi + 0x20]
push edx
call dword [fcn.005e5970]
test eax, eax
je 0x451e50
lea eax, [esi + 0x194]
push eax
lea ecx, [esp + 0x3c]
call fcn.004c4b21
mov edx, dword [esi + 0x1d8]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 0xc]
mov eax, dword [esi + 0x1dc]
add dword [esp + 0x1bc], edx
sub dword [esp + 0x1c4], eax
cmp dword [esi + 0x16c], 0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0x2c], 0
mov dword [esi + 0x1e0], ecx
je 0x44fe70
add esi, 0x10c
mov ecx, 0x17
lea edi, [esp + 0x1cc]
rep movsd dword es:[edi], dword [esi]
jmp 0x44feb3
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call dword [fcn.005e5a00]
push eax
call fcn.004c4a20
test eax, eax
je 0x44fe9a
mov edx, dword [eax + 4]
lea ecx, [esp + 0x1cc]
push ecx
push 0x5c
push edx
jmp 0x44fead
lea eax, [esp + 0x1cc]
push eax
push 0x5c
push 0xd
call dword [0x5e5178]
push eax
call dword [fcn.005e5170]
mov ecx, 0x17
lea esi, [esp + 0x1cc]
lea edi, [esp + 0x15c]
rep movsd dword es:[edi], dword [esi]
call fcn.004ba35d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x44fee2
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov edi, 4
mov byte [esp + 0x280], 4
test ebx, ebx
jne 0x44ff22
mov ecx, 0x6d7a78
movzx esi, cx
push esi
call fcn.004c3e67
test eax, eax
je 0x44ff32
push esi
push eax
lea ecx, [esp + 0x30]
call fcn.00401d80
jmp 0x44ff32
push 0
push 0x6d7a78
lea ecx, [esp + 0x30]
call fcn.00401f70
lea edx, [esp + 0x22c]
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0x40]
push edx
push eax
mov dword [esp + 0x58], 0
call dword [0x5e51d0]
cmp dword [esp + 0x14], 0
jle 0x451e17
mov ebx, dword [esp + 0x1c]
jmp 0x44ff75
mov edi, 4
mov ecx, dword [esp + 0x10]
mov esi, 3
push esi
push 0x6e60cc
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4500ce
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], esi
cmp dword [eax - 0xc], 0
jle 0x4500c3
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4500bf
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4500c3
inc eax
push eax
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
mov byte [esp + 0x280], 6
mov eax, dword [eax]
mov ebx, dword [esp + 0x10]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x450094
cmp dword [ebx + 0xc], 0
jl 0x450086
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x450086
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x450029
cmp eax, dword [esi]
jne 0x450029
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x450064
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x451eda
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.005ae50a
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45007d
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add edi, 0x10
mov dword [esp + 0x10], edi
jmp 0x450094
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00401f70
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4500bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x1c]
inc dword [ebx + 0x174]
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push edi
push 0x6e60d4
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4501d8
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], edi
cmp dword [eax - 0xc], 0
jle 0x4501be
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4501be
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4501be
inc eax
push eax
lea edx, [esp + 0x120]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
mov byte [esp + 0x280], 7
mov ecx, dword [eax]
mov esi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x450193
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x450181
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x450181
push eax
call fcn.00401830
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x450178
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x45018f
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00401f70
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0x11c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4501be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebx + 0x174]
test eax, eax
je 0x451e0c
dec eax
mov dword [ebx + 0x174], eax
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push esi
push 0x6e60e0
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4502cd
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], esi
cmp dword [eax - 0xc], 0
jle 0x4502c2
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4502c2
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4502c2
inc eax
push eax
lea edx, [esp + 0x70]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
mov byte [esp + 0x280], 8
mov ecx, dword [eax]
mov esi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x45029a
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x450288
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x450288
push eax
call fcn.00401830
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x45027f
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x450296
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00401f70
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4502c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [ebx + 0x178]
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push edi
push 0x6e60e8
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4503d7
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], edi
cmp dword [eax - 0xc], 0
jle 0x4503bd
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4503bd
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4503bd
inc eax
push eax
lea edx, [esp + 0xe0]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
mov byte [esp + 0x280], 9
mov ecx, dword [eax]
mov esi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x450392
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x450380
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x450380
push eax
call fcn.00401830
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x450377
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x45038e
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00401f70
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4503bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebx + 0x178]
test eax, eax
je 0x451e0c
dec eax
mov dword [ebx + 0x178], eax
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push esi
push 0x6e60f4
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x45046b
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], esi
cmp dword [eax - 0xc], 0
jle 0x450460
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x450460
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x450460
inc eax
push eax
lea edx, [esp + 0x78]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0xa
call fcn.0040b970
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x450460
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [ebx + 0x170]
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push edi
push 0x6e60fc
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450518
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], edi
cmp dword [eax - 0xc], 0
jle 0x4504fe
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4504fe
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4504fe
inc eax
push eax
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0xb
call fcn.0040b970
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0x12c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4504fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebx + 0x170]
test eax, eax
je 0x451e0c
dec eax
mov dword [ebx + 0x170], eax
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push 8
push 0x6e6108
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4505b5
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 8
cmp dword [eax - 0xc], 0
jle 0x4505aa
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4505aa
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4505aa
inc eax
push eax
lea edx, [esp + 0x80]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0xc
call fcn.0040b970
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4505aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [ebx + 0x17c]
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push 9
push 0x6e611c
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450664
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 9
cmp dword [eax - 0xc], 0
jle 0x45064a
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45064a
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x45064a
inc eax
push eax
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0xd
call fcn.0040b970
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45064a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebx + 0x17c]
test eax, eax
je 0x451e0c
dec eax
mov dword [ebx + 0x17c], eax
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push 8
push 0x6e6130
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450704
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 8
cmp dword [eax - 0xc], 0
jle 0x4506f9
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4506f9
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4506f9
inc eax
push eax
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0xe
call fcn.0040b970
mov byte [esp + 0x280], 5
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4506f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [ebx + 0x180]
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push 9
push 0x6e6144
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x450798
sub dword [esp + 0x14], 9
cmp dword [eax - 0xc], 0
jle 0x45077e
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45077e
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x45077e
inc eax
push eax
lea edx, [esp + 0xec]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0xf
call fcn.0040b970
lea ecx, [esp + 0xe8]
mov byte [esp + 0x280], 5
call fcn.00419990
mov eax, dword [ebx + 0x180]
test eax, eax
je 0x451e0c
dec eax
mov dword [ebx + 0x180], eax
jmp 0x451e0c
push 5
push 0x6e6158
push eax
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450828
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 5
cmp dword [eax - 0xc], 0
jle 0x45080e
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45080e
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x45080e
inc eax
push eax
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x10
call fcn.0040b970
lea ecx, [esp + 0x8c]
mov byte [esp + 0x280], 5
call fcn.00419990
cmp dword [esp + 0x1cc], 0
jle 0x4508b0
inc dword [esp + 0x1cc]
jmp 0x451e0c
mov edx, dword [esp + 0x10]
push 6
push 0x6e6164
push edx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4508bc
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 6
cmp dword [eax - 0xc], 0
jle 0x4508a2
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4508a2
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4508a2
inc eax
push eax
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x11
call fcn.0040b970
lea ecx, [esp + 0xec]
mov byte [esp + 0x280], 5
call fcn.00419990
cmp dword [esp + 0x1cc], 0
jle 0x45081c
dec dword [esp + 0x1cc]
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push 7
push 0x6e6174
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x45092e
sub dword [esp + 0x14], 7
cmp dword [eax - 0xc], 0
jle 0x4508a2
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4508a2
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4508a2
inc eax
push eax
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x12
call fcn.0040b970
lea ecx, [esp + 0x94]
jmp 0x450895
push 8
push 0x6e6184
push eax
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4509a8
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 8
cmp dword [eax - 0xc], 0
jle 0x45080e
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45080e
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x45080e
inc eax
push eax
lea ecx, [esp + 0xf4]
push ecx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x13
call fcn.0040b970
lea ecx, [esp + 0xf0]
jmp 0x450801
mov edx, dword [esp + 0x10]
push 5
push 0x6e6198
push edx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450a2d
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 5
cmp dword [eax - 0xc], 0
jle 0x450a22
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x450a22
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x450a22
inc eax
push eax
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x14
call fcn.0040b970
lea ecx, [esp + 0x9c]
mov byte [esp + 0x280], 5
call fcn.00419990
inc dword [ebx + 0x184]
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push 6
push 0x6e61a4
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x450ac1
sub dword [esp + 0x14], 6
cmp dword [eax - 0xc], 0
jle 0x450aa7
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x450aa7
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x450aa7
inc eax
push eax
lea edx, [esp + 0x128]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x15
call fcn.0040b970
lea ecx, [esp + 0x124]
mov byte [esp + 0x280], 5
call fcn.00419990
mov eax, dword [ebx + 0x184]
test eax, eax
je 0x451e0c
dec eax
mov dword [ebx + 0x184], eax
jmp 0x451e0c
push 5
push 0x6e61b4
push eax
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450b42
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 5
cmp dword [eax - 0xc], 0
jle 0x450b37
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x450b37
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x450b37
inc eax
push eax
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x16
call fcn.0040b970
lea ecx, [esp + 0xa4]
mov byte [esp + 0x280], 5
call fcn.00419990
inc dword [ebx + 0x188]
jmp 0x451e0c
mov edx, dword [esp + 0x10]
push 6
push 0x6e61c0
push edx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450bd6
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 6
cmp dword [eax - 0xc], 0
jle 0x450bbc
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x450bbc
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x450bbc
inc eax
push eax
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x17
call fcn.0040b970
lea ecx, [esp + 0xfc]
mov byte [esp + 0x280], 5
call fcn.00419990
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x451e0c
dec eax
mov dword [ebx + 0x188], eax
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push 5
push 0x6e61d0
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x45125d
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
jle 0x451e0c
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x451e0c
sub eax, dword [esp + 0x10]
sar eax, 1
mov ebx, eax
mov dword [esp + 0x30], ebx
cmp ebx, 0xffffffff
je 0x451e08
lea edx, [ebx - 5]
push edx
push 5
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
call fcn.0040c3f0
lea ecx, [ebx + 1]
mov byte [esp + 0x280], 0x18
mov esi, dword [esp + 0x18]
mov edi, dword [esi - 0xc]
push ecx
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x19
call fcn.0040b970
lea ecx, [esp + 0xac]
mov byte [esp + 0x280], 0x18
call fcn.00419990
test edi, edi
jle 0x45123e
mov edi, edi
mov eax, dword [esi - 0xc]
test eax, eax
jle 0x450ce6
js 0x451edf
cmp word [esi], 0x20
jne 0x450ce6
push 1
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x20]
dec edi
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x1a
call fcn.0040b970
lea ecx, [esp + 0x118]
mov byte [esp + 0x280], 0x18
call fcn.00419990
mov esi, dword [esp + 0x18]
jmp 0x451232
push 5
push 0x6e61dc
push esi
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450e28
cmp dword [esi - 0xc], eax
jle 0x45123e
push 0x22
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45123e
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x45123e
or ecx, 0xffffffff
sub ecx, eax
inc eax
push eax
lea edx, [esp + 0x68]
add edi, ecx
push edx
lea ecx, [esp + 0x20]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x1b
call fcn.0040b970
lea ecx, [esp + 0x64]
mov byte [esp + 0x280], 0x18
call fcn.00419990
mov esi, dword [esp + 0x18]
cmp dword [esi - 0xc], 0
jle 0x451232
push 0x22
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x451232
sub eax, esi
sar eax, 1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x451232
push ebx
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x20]
call fcn.0040c4a0
mov edi, dword [esp + 0x54]
lea ecx, [esp + 0xf4]
push ecx
mov dword [esp + 0xf8], 0x6e6fe4
call fcn.00453060
inc ebx
mov byte [esp + 0x280], 0x1d
mov edx, dword [esp + 0xf8]
push ebx
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x3c], edx
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x1e
call fcn.0040b970
lea ecx, [esp + 0x108]
call fcn.00419990
mov esi, dword [esp + 0x18]
mov edi, dword [esi - 0xc]
lea ecx, [esp + 0x54]
mov dword [esp + 0xf4], 0x6e6fe4
mov byte [esp + 0x280], 0x18
call fcn.00419990
jmp 0x451232
push 7
push 0x6e61e8
push esi
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x450f70
cmp dword [esi - 0xc], eax
jle 0x45123e
push 0x22
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45123e
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x45123e
or ecx, 0xffffffff
sub ecx, eax
inc eax
push eax
lea edx, [esp + 0xc0]
add edi, ecx
push edx
lea ecx, [esp + 0x20]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x1f
call fcn.0040b970
lea ecx, [esp + 0xbc]
mov byte [esp + 0x280], 0x18
call fcn.00419990
mov esi, dword [esp + 0x18]
cmp dword [esi - 0xc], 0
jle 0x451232
push 0x22
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x451232
sub eax, esi
sar eax, 1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x451232
push ebx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x20]
call fcn.0040c4a0
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x100]
push ecx
mov dword [esp + 0x104], 0x6e6fe4
call fcn.00453060
inc ebx
mov byte [esp + 0x280], 0x21
mov edx, dword [esp + 0x104]
push ebx
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x54], edx
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x22
call fcn.0040b970
lea ecx, [esp + 0x120]
call fcn.00419990
mov esi, dword [esp + 0x18]
mov edi, dword [esi - 0xc]
lea ecx, [esp + 0x60]
mov dword [esp + 0x100], 0x6e6fe4
mov byte [esp + 0x280], 0x18
call fcn.00419990
jmp 0x451232
push 4
push 0x6e61f8
push esi
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4510ad
cmp dword [esi - 0xc], eax
jle 0x45123e
push 0x22
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45123e
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x45123e
or ecx, 0xffffffff
sub ecx, eax
inc eax
push eax
lea edx, [esp + 0xc8]
add edi, ecx
push edx
lea ecx, [esp + 0x20]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x23
call fcn.0040b970
lea ecx, [esp + 0xc4]
mov byte [esp + 0x280], 0x18
call fcn.00419990
mov esi, dword [esp + 0x18]
cmp dword [esi - 0xc], 0
jle 0x451232
push 0x22
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x451232
sub eax, esi
sar eax, 1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x451232
push 0x40
lea eax, [esp + 0x1ec]
push 0
push eax
call fcn.005b1e40
add esp, 0xc
push ebx
lea ecx, [esp + 0x1ec]
push esi
push ecx
call fcn.005b14ad
or edx, 0xffffffff
sub edx, ebx
add edi, edx
add esp, 0xc
lea ecx, [esp + 0x18]
test edi, edi
jle 0x451097
inc ebx
push ebx
lea eax, [esp + 0x118]
push eax
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x24
call fcn.0040b970
lea ecx, [esp + 0x114]
mov byte [esp + 0x280], 0x18
call fcn.00419990
mov esi, dword [esp + 0x18]
mov edi, dword [esi - 0xc]
jmp 0x451232
push 0x6d7a78
call fcn.00401d00
mov esi, dword [esp + 0x18]
mov edi, dword [esi - 0xc]
jmp 0x451232
push 4
push 0x6e6204
push esi
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4511da
cmp dword [esi - 0xc], eax
jle 0x45123e
push 0x22
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45123e
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x45123e
or ecx, 0xffffffff
sub ecx, eax
inc eax
push eax
lea edx, [esp + 0xd0]
add edi, ecx
push edx
lea ecx, [esp + 0x20]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x25
call fcn.0040b970
lea ecx, [esp + 0xcc]
mov byte [esp + 0x280], 0x18
call fcn.00419990
mov esi, dword [esp + 0x18]
cmp dword [esi - 0xc], 0
jle 0x451232
push 0x22
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x451232
sub eax, esi
sar eax, 1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x451232
push esi
call fcn.005af4cc
sub dword [esp + 0x1d0], eax
or eax, 0xffffffff
sub eax, ebx
add edi, eax
add esp, 4
mov dword [esp + 0x50], 1
test edi, edi
jle 0x4511c3
inc ebx
push ebx
lea ecx, [esp + 0x12c]
push ecx
lea ecx, [esp + 0x20]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x26
call fcn.0040b970
lea ecx, [esp + 0x128]
mov byte [esp + 0x280], 0x18
call fcn.00419990
mov esi, dword [esp + 0x18]
mov edi, dword [esi - 0xc]
jmp 0x451232
push 0x6d7a78
lea ecx, [esp + 0x1c]
call fcn.00401d00
mov esi, dword [esp + 0x18]
mov edi, dword [esi - 0xc]
jmp 0x451232
mov eax, dword [esi - 0xc]
test eax, eax
jle 0x451232
js 0x451edf
cmp word [esi], 0x20
je 0x451232
push 1
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x20]
dec edi
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x284], 0x27
call fcn.0040b970
lea ecx, [esp + 0xd4]
mov byte [esp + 0x280], 0x18
call fcn.00419990
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
test eax, eax
jg 0x4511e1
mov ebx, dword [esp + 0x30]
test edi, edi
jg 0x450c90
or eax, 0xffffffff
sub eax, ebx
add dword [esp + 0x14], eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x280], 5
call fcn.00419990
jmp 0x451e08
mov ecx, dword [esp + 0x10]
push 7
push 0x6e6210
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x451325
sub dword [esp + 0x14], 7
cmp dword [eax - 0xc], 0
jle 0x4512db
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4512db
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x4512db
inc eax
push eax
lea edx, [esp + 0x134]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x28
call fcn.0040b970
lea ecx, [esp + 0x130]
mov byte [esp + 0x280], 5
call fcn.00419990
cmp dword [esp + 0x50], 0
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x4c], ecx
mov ecx, 0x17
lea esi, [esp + 0x15c]
lea edi, [esp + 0x1cc]
mov dword [esp + 0x34], eax
rep movsd dword es:[edi], dword [esi]
je 0x451318
mov edx, dword [esp + 0x234]
mov eax, dword [esp + 0x1c]
add dword [eax + 0x1e0], edx
mov dword [esp + 0x50], 0
jmp 0x451e08
push 6
push 0x6e6220
push eax
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4513bc
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 6
cmp dword [eax - 0xc], 0
jle 0x451399
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x451399
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x451399
inc eax
push eax
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x29
call fcn.0040b970
lea ecx, [esp + 0x78]
mov byte [esp + 0x280], 5
call fcn.00419990
xor eax, eax
jmp 0x4513a0
movzx ecx, word [eax + 0x6e6230]
mov word [esp + eax + 0x1e8], cx
add eax, 2
test cx, cx
jne 0x4513a0
jmp 0x451e0c
mov edx, dword [esp + 0x10]
push 7
push 0x6e6248
push edx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x451454
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 7
cmp dword [eax - 0xc], 0
jle 0x45143a
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45143a
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x45143a
inc eax
push eax
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x2a
call fcn.0040b970
lea ecx, [esp + 0x80]
mov byte [esp + 0x280], 5
call fcn.00419990
mov ecx, 0x17
lea esi, [esp + 0x15c]
lea edi, [esp + 0x1cc]
rep movsd dword es:[edi], dword [esi]
jmp 0x451e08
mov ecx, dword [esp + 0x10]
push 8
push 0x6e6258
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x451532
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
jle 0x4519ff
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4519ff
sub eax, dword [esp + 0x10]
sar eax, 1
mov esi, eax
cmp esi, 0xffffffff
je 0x4519ff
lea edx, [esi - 0xa]
push edx
push 9
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x1c]
call fcn.0040c3f0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x284], 0x2b
call fcn.0040b970
lea ecx, [esp + 0x88]
mov byte [esp + 0x280], 5
call fcn.00419990
inc esi
push esi
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x2c
call fcn.0040b970
lea ecx, [esp + 0x90]
mov byte [esp + 0x280], 5
call fcn.00419990
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0xc]
mov dword [esp + 0x14], eax
mov dword [ebx + 0x19c], 1
jmp 0x451e0c
mov ecx, dword [esp + 0x10]
push edi
push 0x6e626c
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x451594
push edi
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x2d
call fcn.0040b970
lea ecx, [esp + 0x98]
mov byte [esp + 0x280], 5
call fcn.00419990
sub dword [esp + 0x14], edi
mov dword [ebx + 0x19c], 0
jmp 0x451e0c
mov eax, dword [esp + 0x10]
push esi
push 0x6e6278
push eax
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x45186b
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
jle 0x451847
push 0x3e
push eax
call fcn.005af48f
add esp, 8
test eax, eax
je 0x451847
sub eax, dword [esp + 0x10]
sar eax, 1
mov dword [esp + 0x30], eax
cmp eax, 0xffffffff
je 0x451847
push 3
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
mov edx, dword [esp + 0x30]
inc edx
mov byte [esp + 0x280], 0x2e
mov esi, dword [esp + 0x24]
mov edi, dword [esi - 0xc]
push edx
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x2f
call fcn.0040b970
lea ecx, [esp + 0xa0]
mov byte [esp + 0x280], 0x2e
call fcn.00419990
test edi, edi
jle 0x451827
mov eax, dword [esi - 0xc]
test eax, eax
jle 0x45169d
js 0x451edf
cmp word [esi], 0x20
jne 0x45169d
push 1
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0x2c]
dec edi
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x284], 0x30
call fcn.0040b970
lea ecx, [esp + 0xa8]
mov byte [esp + 0x280], 0x2e
call fcn.00419990
mov esi, dword [esp + 0x24]
jmp 0x45181f
push 4
push 0x6e6204
push esi
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x4517c7
cmp dword [esi - 0xc], eax
jle 0x451827
push 0x3d
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x451827
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x451827
or edx, 0xffffffff
sub edx, eax
inc eax
push eax
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x2c]
add edi, edx
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x284], 0x31
call fcn.0040b970
lea ecx, [esp + 0xb0]
mov byte [esp + 0x280], 0x2e
call fcn.00419990
mov esi, dword [esp + 0x24]
cmp dword [esi - 0xc], 0
jle 0x45181f
push 0x3e
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x45181f
sub eax, esi
sar eax, 1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x45181f
push ebx
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x2c]
call fcn.0040c4a0
mov byte [esp + 0x280], 0x32
mov edx, dword [esp + 0x5c]
push edx
call fcn.005af4cc
mov ecx, dword [esp + 0x20]
add esp, 4
inc ebx
push ebx
lea edx, [esp + 0xbc]
mov dword [ecx + 0x190], eax
push edx
lea ecx, [esp + 0x2c]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x284], 0x33
call fcn.0040b970
lea ecx, [esp + 0xb8]
call fcn.00419990
mov esi, dword [esp + 0x24]
mov edi, dword [esi - 0xc]
lea ecx, [esp + 0x5c]
mov byte [esp + 0x280], 0x2e
call fcn.00419990
jmp 0x45181f
mov eax, dword [esi - 0xc]
test eax, eax
jle 0x45181f
js 0x451edf
cmp word [esi], 0x20
je 0x45181f
push 1
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x2c]
dec edi
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x284], 0x34
call fcn.0040b970
lea ecx, [esp + 0xc0]
mov byte [esp + 0x280], 0x2e
call fcn.00419990
mov esi, dword [esp + 0x24]
mov eax, dword [esi - 0xc]
test eax, eax
jg 0x4517ce
test edi, edi
jg 0x451647
or ecx, 0xffffffff
sub ecx, dword [esp + 0x30]
mov byte [esp + 0x280], 5
add dword [esp + 0x14], ecx
lea ecx, [esp + 0x24]
call fcn.00419990
mov ebx, dword [esp + 0x1c]
mov esi, 1
add dword [ebx + 0x18c], esi
push 0x6d9848
lea ecx, [esp + 0x24]
call fcn.00401d00
mov dword [ebx + 0x1e4], esi
jmp 0x4519ff
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x24]
call fcn.0040b970
mov esi, dword [esp + 0x20]
cmp dword [esi - 0xc], 0
jle 0x4519e3
push 0x3c
push esi
call fcn.005af48f
add esp, 8
test eax, eax
je 0x4519e3
sub eax, esi
sar eax, 1
mov esi, eax
cmp esi, 0xffffffff
je 0x4519e3
mov eax, dword [esp + 0x10]
push edi
push 0x6e6280
push eax
call fcn.005b08f0
add esp, 0xc
test eax, eax
jne 0x451919
sub dword [esp + 0x14], edi
push 0x6d9848
lea ecx, [esp + 0x24]
call fcn.00401d00
push edi
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x18]
mov dword [ebx + 0x1e4], 1
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x35
call fcn.0040b970
lea ecx, [esp + 0xc8]
mov byte [esp + 0x280], 5
call fcn.00419990
jmp 0x4519ff
push esi
lea edx, [esp + 0xd4]
push edx
lea ecx, [esp + 0x18]
call fcn.0040c4a0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x284], 0x36
call fcn.0040b970
lea ecx, [esp + 0xd0]
mov byte [esp + 0x280], 5
call fcn.00419990
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
jg 0x4519a9
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x4519a9
js 0x451edf
mov cx, word [ecx]
xor edx, edx
lea eax, [esp + 0x48]
mov word [esp + 0x4a], dx
mov word [esp + 0x48], cx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x451982
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x28]
call fcn.00401f70
mov esi, 1
sub dword [esp + 0x14], esi
push esi
lea ecx, [esp + 0xdc]
push ecx
lea ecx, [esp + 0x18]
call fcn.0044b1b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x284], 0x37
call fcn.0040b970
lea ecx, [esp + 0xd8]
mov byte [esp + 0x280], 5
call fcn.00419990
jmp 0x4519ff
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x24]
call fcn.0040b970
push 0x6d7a78
lea ecx, [esp + 0x14]
call fcn.00401d00
mov eax, dword [ebx + 0x174]
mov cl, byte [ebx + 0x170]
mov dl, byte [ebx + 0x178]
neg eax
sbb eax, eax
and eax, 0x12c
add eax, 0x190
mov dword [esp + 0x1dc], eax
mov al, byte [ebx + 0x180]
mov byte [esp + 0x1e1], cl
lea esi, [ebx + 0x194]
mov ecx, esi
mov byte [esp + 0x1e0], dl
mov byte [esp + 0x1e2], al
call fcn.004c4a8e
lea ecx, [esp + 0x1cc]
push ecx
call dword [fcn.005e5174]
push eax
mov ecx, esi
call fcn.004c4a34
mov edx, dword [esp + 0x34]
push edx
lea ecx, [esp + 0x3c]
call fcn.004c4047
mov ecx, ebx
call fcn.004c2d3f
lea ecx, [esp + 0x38]
test al, 0x20
je 0x451a8a
push 1
call fcn.004c3fb1
jmp 0x451a94
mov eax, dword [esp + 0x4c]
push eax
call fcn.004c3f7e
push esi
lea ecx, [esp + 0x3c]
call fcn.004c4b21
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x22c]
push ecx
push edx
call dword [0x5e51d0]
mov eax, dword [esp + 0x230]
cdq
sub eax, edx
mov esi, eax
sar esi, 1
cmp dword [ebx + 0x184], 0
je 0x451adc
add dword [esp + 0x1c0], esi
add dword [esp + 0x1c8], esi
add dword [ebx + 0x1e0], esi
cmp dword [ebx + 0x188], 0
je 0x451af9
sub dword [esp + 0x1c0], esi
sub dword [esp + 0x1c8], esi
sub dword [ebx + 0x1e0], esi
cmp dword [ebx + 0x17c], 0
mov edi, dword [esp + 0x1bc]
je 0x451b59
mov eax, dword [esp + 0x20]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x451b10
sub eax, edx
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x13c]
push ecx
sar eax, 1
push eax
mov eax, dword [esp + 0x44]
push edx
push eax
call dword [fcn.005e5228]
mov eax, dword [esp + 0x1c4]
sub eax, dword [esp + 0x1bc]
sub eax, dword [esp + 0x13c]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1bc], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
push ecx
push edx
mov edx, dword [esp + 0x34]
push ebx
lea ecx, [esp + 0x1c8]
call fcn.00451ef0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x20]
push 0x6d9848
push eax
mov dword [esp + 0x1c4], edi
call fcn.004059e0
add esp, 8
test al, al
je 0x451b9d
mov dword [esp + 0x2c], 0
cmp dword [ebx + 0x184], 0
je 0x451bba
sub dword [esp + 0x1c0], esi
sub dword [esp + 0x1c8], esi
sub dword [ebx + 0x1e0], esi
cmp dword [ebx + 0x188], 0
je 0x451bd7
add dword [esp + 0x1c0], esi
add dword [esp + 0x1c8], esi
add dword [ebx + 0x1e0], esi
cmp dword [ebx + 0x19c], 0
je 0x451d0f
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx - 0xc]
lea edx, [esp + 0x134]
push edx
push eax
mov eax, dword [esp + 0x44]
push ecx
push eax
call dword [fcn.005e5228]
mov ecx, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
mov ebx, dword [esp + 0x138]
mov esi, dword [esp + 0x2c]
sub esi, dword [esp + 0x134]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x1c8]
push 0x10
mov edi, eax
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], ecx
add ebx, eax
call fcn.004b9bc9
add esp, 4
test eax, eax
je 0x451c68
mov ecx, dword [esp + 0x2c]
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov esi, eax
jmp 0x451c6a
xor esi, esi
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x1a8]
lea ecx, [edi + 0x1a0]
push esi
push eax
call fcn.005a3922
mov eax, dword [edi + 0x1bc]
lea ecx, [edi + 0x1b4]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.004c58a2
cmp dword [edi + 0x168], 0
je 0x451cea
mov eax, dword [esp + 0x28]
push 4
push 0x6e628c
push eax
call fcn.005b08f0
add esp, 0xc
test eax, eax
je 0x451cea
mov ecx, dword [esp + 0x28]
push 5
push 0x6e6298
push ecx
call fcn.005b08f0
add esp, 0xc
test eax, eax
je 0x451cea
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x28]
push ebx
push esi
push edx
push edi
lea ecx, [edi + 0x74]
call fcn.004c6d8a
inc ebx
mov dword [esp + 0x58], ebx
cmp dword [edi + 0x1c8], 0
jne 0x451d13
mov eax, dword [edi + 0x20]
push 0
push 0x50
push 1
push eax
mov dword [edi + 0x1c8], 1
call dword [fcn.005e58e8]
jmp 0x451d13
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x18c], 0
je 0x451dea
mov ecx, dword [esp + 0x34]
mov esi, dword [edi + 0x190]
push ecx
push esi
push 0
lea ecx, [esp + 0x118]
call fcn.004c4bf5
lea edx, [esp + 0x10c]
push edx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x284], 0x38
call fcn.004c4b21
mov ecx, dword [esp + 0x1bc]
sub ecx, dword [edi + 0x1d8]
mov ebx, eax
mov eax, dword [esp + 0x1c0]
push eax
push ecx
lea edx, [esp + 0x15c]
push edx
lea ecx, [esp + 0x44]
call fcn.004c454f
mov ecx, dword [edi + 0x1dc]
mov eax, dword [esp + 0x1c0]
add ecx, dword [esp + 0x1c4]
push eax
push ecx
lea ecx, [esp + 0x40]
call fcn.004c414f
test ebx, ebx
je 0x451da9
push ebx
lea ecx, [esp + 0x3c]
call fcn.004c4b21
add dword [edi + 0x1e0], esi
add dword [esp + 0x1c0], esi
add dword [esp + 0x1c8], esi
dec dword [edi + 0x18c]
mov byte [esp + 0x280], 5
lea ecx, [esp + 0x10c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x10c], 0x66c6a8
call fcn.004020f0
cmp dword [edi + 0x1e4], 0
jne 0x451dfe
mov edx, dword [esp + 0x20]
mov eax, dword [edx - 0xc]
sub dword [esp + 0x14], eax
mov dword [edi + 0x1e4], 0
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x14], 0
jg 0x44ff70
mov ecx, dword [esp + 0xe0]
push ecx
lea ecx, [esp + 0x3c]
call fcn.004c4b21
mov byte [esp + 0x280], 3
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x451e50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x280], 1
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x451e78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x280], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x451ea0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x280], 0xffffffff
call fcn.004c47e1
mov ecx, dword [esp + 0x278]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x260]
xor ecx, esp
call fcn.005ae4db
mov esp, ebp
pop ebp
ret 4
call fcn.004018a0
push 0x80070057
call fcn.00401000
int3