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

Disassembly:
sub esp, 0x4e0
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], esi
call fcn.00450240
mov ecx, esi
call fcn.0044ee50
cmp eax, 7
push 8
lea ecx, [esp + 0x14]
jl 0x44f560
call fcn.0044ec30
test eax, eax
je 0x44f588
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [str.FWS_a]
add ecx, eax
mov dword [ecx], edx
mov eax, dword [0x4d2ed0]
mov dword [ecx + 4], eax
jmp 0x44f583
call fcn.0044ec30
test eax, eax
je 0x44f588
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [0x4d2ec0]
add edx, ecx
mov dword [edx], eax
mov ecx, dword [0x4d2ec4]
mov dword [edx + 4], ecx
add dword [esp + 0x1c], 8
mov eax, dword [esp + 0x4fc]
xor edi, edi
cmp eax, edi
je 0x44ffb3
mov edx, dword [esp + 0x4f4]
mov ebp, dword [esp + 0x4f8]
lea ecx, [esp + 0x98]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edi
mov dword [esp + 0x90], 6
mov dword [esp + 0x94], htons
mov dword [esp + 0x88], ebp
call fcn.0047d650
lea eax, [esp + 0x74]
lea ecx, [esp + 0x98]
push eax
call fcn.0047d680
test al, al
lea ecx, [esp + 0x98]
je 0x44f604
call fcn.0047d6c0
test al, al
lea ecx, [esp + 0x98]
je 0x44f62b
call fcn.0047d670
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x450220
push eax
call fcn.0041eda0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4e0
ret 0xc
call fcn.0047d6e0
cmp eax, 0xb40
jl 0x44f63c
mov eax, 0xb40
lea esi, [eax + eax*4]
lea ecx, [esp + 0x98]
shl esi, 2
mov dword [esp + 0x34], esi
call fcn.0047d6f0
cmp eax, 0xb40
jl 0x44f65e
mov eax, 0xb40
lea ebx, [eax + eax*4]
lea ecx, [esp + 0x98]
shl ebx, 2
mov dword [esp + 0x38], ebx
call fcn.0047d670
cmp ebx, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], edi
mov eax, ebx
jge 0x44f698
neg eax
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.004507d0
mov ecx, dword [esp + 0x40]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004507d0
mov edx, dword [esp + 0x3c]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.004507d0
push eax
lea ecx, [esp + 0x14]
call fcn.004507a0
mov esi, eax
inc esi
cmp esi, 0xf
jge 0x44f6d8
mov esi, 0xf
push 5
push esi
lea ecx, [esp + 0x18]
call fcn.004508a0
mov eax, dword [esp + 0x3c]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.004508a0
mov ecx, dword [esp + 0x40]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.004508a0
mov edx, dword [esp + 0x44]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.004508a0
mov eax, dword [esp + 0x48]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.004508a0
lea ecx, [esp + 0x10]
call fcn.004507f0
push 2
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44f75e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0xc
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44f793
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
push edi
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], 0x15
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], 1
call fcn.0044ecd0
push edi
lea ecx, [esp + 0x14]
call fcn.0044ed80
push 2
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44f7f4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 1
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [edx + eax], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44f829
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 0xff
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [edx + eax], 0xd9
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44f85e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 0xff
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [edx + eax], 0xd8
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push ebp
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44f896
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x4f4]
mov ecx, ebp
lea edi, [edx + eax]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
add eax, ebp
jmp 0x44f89a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov esi, eax
mov edx, ecx
neg edx
sbb edx, edx
and edx, 4
add edx, 2
sub eax, edx
mov edx, dword [esp + 0x28]
sub eax, edx
mov dword [esp + 0x1c], edx
test ecx, ecx
mov edi, eax
je 0x44f8dd
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x10]
shl eax, 6
or al, 0x3f
push eax
call fcn.0044ecd0
push edi
lea ecx, [esp + 0x14]
call fcn.0044ed80
jmp 0x44f8f0
mov ecx, dword [esp + 0x24]
shl ecx, 6
or ecx, edi
push ecx
lea ecx, [esp + 0x14]
call fcn.0044ecd0
push 0
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], 1
call fcn.0044ecd0
push 0
lea ecx, [esp + 0x14]
call fcn.0044ed80
push 2
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44f953
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], 8
test eax, eax
mov dword [esp + 0x14], 0
jge 0x44f96d
neg eax
mov edx, dword [esp + 0x44]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.004507d0
push eax
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x18]
call fcn.004507d0
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004507d0
push eax
lea ecx, [esp + 0x14]
call fcn.004507a0
mov esi, eax
inc esi
cmp esi, 0xf
jge 0x44f9b1
mov esi, 0xf
push 5
push esi
lea ecx, [esp + 0x18]
call fcn.004508a0
mov edx, dword [esp + 0x3c]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.004508a0
mov eax, dword [esp + 0x40]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.004508a0
mov ecx, dword [esp + 0x44]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.004508a0
mov edx, dword [esp + 0x48]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.004508a0
lea ecx, [esp + 0x10]
call fcn.004507f0
push 1
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44fa26
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 2
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 1
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44fa4a
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 0x41
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44fa7f
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 0xff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0xff
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 0xd9
lea ecx, [esp + 0x14]
call fcn.00450310
push 0x40
lea ecx, [esp + 0x14]
call fcn.00450310
push 0
lea ecx, [esp + 0x14]
call fcn.00450310
push 5
lea ecx, [esp + 0x14]
call fcn.00450310
push 0
lea ecx, [esp + 0x14]
call fcn.00450310
push 0
lea ecx, [esp + 0x14]
call fcn.00450310
push 0
lea ecx, [esp + 0x14]
call fcn.00450310
push 1
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44faf3
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 0x41
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44fb28
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 0xd9
lea ecx, [esp + 0x14]
call fcn.00450310
push 0x40
lea ecx, [esp + 0x14]
call fcn.00450310
push 0
lea ecx, [esp + 0x14]
call fcn.00450310
push 5
lea ecx, [esp + 0x14]
call fcn.00450310
push 0
lea ecx, [esp + 0x14]
call fcn.00450310
push 0
lea ecx, [esp + 0x14]
call fcn.00450310
push 0
lea ecx, [esp + 0x14]
call fcn.00450310
push 1
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44fb9c
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 1
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44fbc0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 0x20
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x34]
mov edx, 2
cmp ecx, ebx
mov eax, 0x14
mov dword [esp + 0x10], edx
jg 0x44fbd8
mov ecx, ebx
xor ebp, ebp
test ecx, 0xfffffff0
je 0x44fbf0
shr ecx, 4
add ebp, 4
test ecx, 0xfffffff0
jne 0x44fbe2
test ecx, ecx
je 0x44fbfb
shr ecx, 1
inc ebp
test ecx, ecx
jne 0x44fbf4
inc ebp
mov edi, 5
mov esi, ebp
mov ecx, 3
and esi, 0x1f
mov ebx, esi
sub edi, edx
sar ebx, cl
lea ecx, [esp + 0x10]
or eax, ebx
push eax
mov dword [esp + 0x18], eax
call fcn.00450310
mov ecx, 0x20
or ebx, 0xffffffff
sub ecx, edi
xor eax, eax
shr ebx, cl
lea ecx, [edi - 8]
mov edx, 8
mov dword [esp + 0x10], edx
and esi, ebx
test ecx, ecx
jg 0x44fc0b
neg ecx
shl esi, cl
sub edx, edi
mov edi, ebp
test ebp, ebp
mov dword [esp + 0x10], edx
mov eax, esi
jle 0x44fcb5
mov ebx, dword [esp + 0x34]
mov ecx, 0x20
sub ecx, ebp
or esi, 0xffffffff
shr esi, cl
mov ecx, ebp
sub ecx, edx
and esi, ebx
test ecx, ecx
jle 0x44fca7
mov ebx, esi
sub edi, edx
sar ebx, cl
lea ecx, [esp + 0x10]
or eax, ebx
push eax
mov dword [esp + 0x18], eax
call fcn.00450310
mov ecx, 0x20
or ebx, 0xffffffff
sub ecx, edi
xor eax, eax
shr ebx, cl
lea ecx, [edi - 8]
mov edx, 8
mov dword [esp + 0x10], edx
and esi, ebx
test ecx, ecx
jg 0x44fc6d
mov ebx, dword [esp + 0x34]
neg ecx
shl esi, cl
or eax, esi
sub edx, edi
mov dword [esp + 0x10], edx
jmp 0x44fcb9
mov ebx, dword [esp + 0x34]
test ebp, ebp
mov edi, ebp
jle 0x44fd1b
mov ecx, 0x20
or esi, 0xffffffff
sub ecx, ebp
sub ebp, edx
shr esi, cl
mov ecx, dword [esp + 0x38]
and esi, ecx
mov ecx, ebp
test ecx, ecx
jle 0x44fd0f
mov ebp, esi
sub edi, edx
sar ebp, cl
lea ecx, [esp + 0x10]
or eax, ebp
push eax
mov dword [esp + 0x18], eax
call fcn.00450310
mov ecx, 0x20
or ebp, 0xffffffff
sub ecx, edi
xor eax, eax
shr ebp, cl
lea ecx, [edi - 8]
mov edx, 8
mov dword [esp + 0x10], edx
and esi, ebp
test ecx, ecx
jg 0x44fcd9
neg ecx
shl esi, cl
or eax, esi
sub edx, edi
mov dword [esp + 0x10], edx
mov esi, 2
mov ecx, esi
mov edi, esi
sub ecx, edx
test ecx, ecx
jle 0x44fd60
mov ebp, edi
sub esi, edx
sar ebp, cl
lea ecx, [esp + 0x10]
or eax, ebp
push eax
mov dword [esp + 0x18], eax
call fcn.00450310
mov ecx, 0x20
or ebp, 0xffffffff
sub ecx, esi
xor eax, eax
shr ebp, cl
lea ecx, [esi - 8]
mov edx, 8
mov dword [esp + 0x10], edx
and edi, ebp
test ecx, ecx
jg 0x44fd2a
neg ecx
shl edi, cl
sub edx, esi
push 1
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edx
or eax, edi
mov edi, ebx
mov dword [esp + 0x1c], eax
neg edi
call fcn.004508a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.004508a0
test edi, edi
mov eax, edi
jge 0x44fd96
neg eax
push eax
lea ecx, [esp + 0x14]
call fcn.004507a0
mov esi, eax
push 4
inc esi
lea ecx, [esp + 0x14]
lea eax, [esi - 2]
push eax
call fcn.004508a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.004508a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.004508a0
push esi
push edi
lea ecx, [esp + 0x18]
call fcn.004508a0
mov esi, dword [esp + 0x38]
push 1
push 1
lea ecx, [esp + 0x18]
neg esi
call fcn.004508a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.004508a0
test esi, esi
mov eax, esi
jge 0x44fdff
neg eax
push eax
lea ecx, [esp + 0x14]
call fcn.004507a0
mov ebp, eax
push 4
inc ebp
lea ecx, [ebp - 2]
push ecx
lea ecx, [esp + 0x18]
call fcn.004508a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.004508a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.004508a0
push ebp
push esi
lea ecx, [esp + 0x18]
call fcn.004508a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.004508a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.004508a0
test ebx, ebx
jl 0x44fe60
mov edi, ebx
push edi
lea ecx, [esp + 0x14]
call fcn.004507a0
mov esi, eax
push 4
inc esi
lea ecx, [esp + 0x14]
lea edx, [esi - 2]
push edx
call fcn.004508a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.004508a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.004508a0
push esi
push ebx
lea ecx, [esp + 0x18]
call fcn.004508a0
mov esi, dword [esp + 0x38]
push 1
push esi
lea ecx, [esp + 0x18]
call fcn.00450ca0
push 6
push 0
lea ecx, [esp + 0x18]
call fcn.004508a0
mov eax, dword [esp + 0x10]
mov edi, 8
cmp eax, edi
jge 0x44fed9
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
call fcn.00450310
lea ecx, [esp + 0x10]
call fcn.00450520
push 0
push 0x1a
lea ecx, [esp + 0x18]
call fcn.004503b0
push 1
lea ecx, [esp + 0x14]
call fcn.0044ec30
test eax, eax
je 0x44ff13
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 2
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 1
lea ecx, [esp + 0x14]
call fcn.0044ecd0
push 2
lea ecx, [esp + 0x14]
call fcn.0044ecd0
push 1
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], 0
call fcn.004508a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.004508a0
push 5
push 0x10
lea ecx, [esp + 0x18]
call fcn.004508a0
mov eax, ebx
push 0x10
cdq
sub eax, edx
lea ecx, [esp + 0x14]
sar eax, 1
neg eax
push eax
call fcn.004508a0
mov eax, esi
push 0x10
cdq
sub eax, edx
lea ecx, [esp + 0x14]
sar eax, 1
neg eax
push eax
call fcn.004508a0
lea ecx, [esp + 0x10]
call fcn.004507f0
lea ecx, [esp + 0x10]
call fcn.00450520
push 0
push 1
lea ecx, [esp + 0x18]
call fcn.004503b0
lea ecx, [esp + 0x10]
call fcn.00450520
jmp 0x4501b3
lea ecx, [esp + 0x34]
call fcn.004bebf0
mov ebp, dword [esp + 0x4f8]
mov ebx, dword [esp + 0x4f4]
cmp ebp, 4
mov esi, ebp
mov edi, ebx
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], ebp
jb 0x450037
cmp byte [edi], 0xff
jne 0x45001e
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x34]
push eax
push edi
call fcn.004bedb0
test eax, eax
je 0x45001e
mov eax, dword [esp + 0x5c]
shr eax, 3
cmp eax, esi
je 0x450027
lea ecx, [eax + 4]
cmp ecx, esi
ja 0x45001e
lea edx, [esp + 0x74]
add eax, edi
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.004bedb0
test eax, eax
jne 0x450027
inc edi
dec esi
cmp esi, 4
jb 0x450037
jmp 0x44ffdf
mov eax, edi
mov ecx, ebp
sub eax, ebx
sub ecx, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
xor ebp, ebp
cmp esi, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], ecx
jb 0x45008d
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x34]
push edx
push edi
call fcn.004bedb0
test eax, eax
je 0x45008d
mov eax, dword [esp + 0x5c]
mov ecx, 0xfffffffc
cdq
and edx, 7
add eax, edx
sar eax, 3
sub eax, 4
sub ecx, eax
add esi, ecx
mov ecx, dword [esp + 0x60]
add ebp, ecx
cmp esi, 4
lea edi, [edi + eax + 4]
jae 0x450052
lea edx, [esp + 0x3c]
xor esi, esi
mov eax, 0x14
push edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], eax
call fcn.004509e0
push 0xc00
lea ecx, [esp + 0x14]
call fcn.0044ecd0
push 1
lea ecx, [esp + 0x14]
call fcn.0044ecd0
push 1
push 0xe
lea ecx, [esp + 0x18]
call fcn.004503b0
push 1
lea ecx, [esp + 0x14]
call fcn.0044ecd0
push 4
push 2
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], esi
call fcn.004508a0
mov ecx, ebx
mov eax, 3
dec ecx
je 0x450120
dec ecx
jne 0x450137
mov ecx, dword [esp + 0x38]
sub ecx, esi
je 0x450119
dec ecx
je 0x450132
dec ecx
jne 0x450137
jmp 0x450137
mov eax, 1
jmp 0x450137
mov ecx, dword [esp + 0x38]
sub ecx, esi
je 0x450132
dec ecx
jne 0x450137
mov eax, 3
jmp 0x450137
mov eax, 2
push 2
push eax
lea ecx, [esp + 0x18]
call fcn.004508a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.004508a0
mov edx, dword [esp + 0x58]
xor eax, eax
cmp edx, 1
push 1
setne al
push eax
lea ecx, [esp + 0x18]
call fcn.004508a0
lea ecx, [esp + 0x10]
call fcn.004507f0
push ebp
lea ecx, [esp + 0x14]
call fcn.0044ed80
push esi
lea ecx, [esp + 0x14]
call fcn.0044ecd0
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4f4]
mov ecx, dword [esp + 0x4c]
add edx, eax
push ecx
push edx
lea ecx, [esp + 0x18]
call fcn.00450260
lea ecx, [esp + 0x10]
call fcn.00450520
lea ecx, [esp + 0x34]
call fcn.004bec30
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
push esi
mov dword [esp + 0x20], 4
call fcn.0044ed80
mov ecx, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x58]
push ecx
mov ecx, esi
call fcn.00451a00
mov ecx, dword [esi + 0x57c]
test ecx, ecx
je 0x450217
push 0
call fcn.00455af0
test eax, eax
je 0x450217
mov edx, dword [esp + 0x4f8]
mov eax, dword [esp + 0x4f4]
mov ecx, dword [esi + 0x57c]
push 3
push edx
push eax
push 0
call fcn.00455af0
push eax
call fcn.00406980
add esp, 0x10
lea ecx, [esp + 0x10]
call fcn.00450230
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4e0
ret 0xc