Function at 0x44ec10
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.0044f940
mov ecx, esi
call fcn.0044e550
cmp eax, 7
push 8
lea ecx, [esp + 0x14]
jl 0x44ec60
call fcn.0044e330
test eax, eax
je 0x44ec88
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 [0x4cee1c]
mov dword [ecx + 4], eax
jmp 0x44ec83
call fcn.0044e330
test eax, eax
je 0x44ec88
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [0x4cee0c]
add edx, ecx
mov dword [edx], eax
mov ecx, dword [0x4cee10]
mov dword [edx + 4], ecx
add dword [esp + 0x1c], 8
mov eax, dword [esp + 0x4fc]
xor edi, edi
cmp eax, edi
je 0x44f6b3
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.0047bc00
lea eax, [esp + 0x74]
lea ecx, [esp + 0x98]
push eax
call fcn.0047bc30
test al, al
lea ecx, [esp + 0x98]
je 0x44ed04
call fcn.0047bc70
test al, al
lea ecx, [esp + 0x98]
je 0x44ed2b
call fcn.0047bc20
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x44f920
push eax
call fcn.0041ec10
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4e0
ret 0xc
call fcn.0047bc90
cmp eax, 0xb40
jl 0x44ed3c
mov eax, 0xb40
lea esi, [eax + eax*4]
lea ecx, [esp + 0x98]
shl esi, 2
mov dword [esp + 0x34], esi
call fcn.0047bca0
cmp eax, 0xb40
jl 0x44ed5e
mov eax, 0xb40
lea ebx, [eax + eax*4]
lea ecx, [esp + 0x98]
shl ebx, 2
mov dword [esp + 0x38], ebx
call fcn.0047bc20
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 0x44ed98
neg eax
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.0044fed0
mov ecx, dword [esp + 0x40]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0044fed0
mov edx, dword [esp + 0x3c]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.0044fed0
push eax
lea ecx, [esp + 0x14]
call fcn.0044fea0
mov esi, eax
inc esi
cmp esi, 0xf
jge 0x44edd8
mov esi, 0xf
push 5
push esi
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov eax, dword [esp + 0x3c]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov ecx, dword [esp + 0x40]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov edx, dword [esp + 0x44]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov eax, dword [esp + 0x48]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.0044ffa0
lea ecx, [esp + 0x10]
call fcn.0044fef0
push 2
lea ecx, [esp + 0x14]
call fcn.0044e330
test eax, eax
je 0x44ee5e
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.0044e330
test eax, eax
je 0x44ee93
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.0044e3d0
push edi
lea ecx, [esp + 0x14]
call fcn.0044e480
push 2
lea ecx, [esp + 0x14]
call fcn.0044e330
test eax, eax
je 0x44eef4
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.0044e330
test eax, eax
je 0x44ef29
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.0044e330
test eax, eax
je 0x44ef5e
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.0044e330
test eax, eax
je 0x44ef96
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 0x44ef9a
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 0x44efdd
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x10]
shl eax, 6
or al, 0x3f
push eax
call fcn.0044e3d0
push edi
lea ecx, [esp + 0x14]
call fcn.0044e480
jmp 0x44eff0
mov ecx, dword [esp + 0x24]
shl ecx, 6
or ecx, edi
push ecx
lea ecx, [esp + 0x14]
call fcn.0044e3d0
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.0044e3d0
push 0
lea ecx, [esp + 0x14]
call fcn.0044e480
push 2
lea ecx, [esp + 0x14]
call fcn.0044e330
test eax, eax
je 0x44f053
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 0x44f06d
neg eax
mov edx, dword [esp + 0x44]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.0044fed0
push eax
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x18]
call fcn.0044fed0
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0044fed0
push eax
lea ecx, [esp + 0x14]
call fcn.0044fea0
mov esi, eax
inc esi
cmp esi, 0xf
jge 0x44f0b1
mov esi, 0xf
push 5
push esi
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov edx, dword [esp + 0x3c]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov eax, dword [esp + 0x40]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov ecx, dword [esp + 0x44]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov edx, dword [esp + 0x48]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0044ffa0
lea ecx, [esp + 0x10]
call fcn.0044fef0
push 1
lea ecx, [esp + 0x14]
call fcn.0044e330
test eax, eax
je 0x44f126
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.0044e330
test eax, eax
je 0x44f14a
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.0044e330
test eax, eax
je 0x44f17f
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.0044fa10
push 0x40
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 0
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 5
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 0
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 0
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 0
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 1
lea ecx, [esp + 0x14]
call fcn.0044e330
test eax, eax
je 0x44f1f3
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.0044e330
test eax, eax
je 0x44f228
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.0044fa10
push 0x40
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 0
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 5
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 0
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 0
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 0
lea ecx, [esp + 0x14]
call fcn.0044fa10
push 1
lea ecx, [esp + 0x14]
call fcn.0044e330
test eax, eax
je 0x44f29c
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.0044e330
test eax, eax
je 0x44f2c0
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 0x44f2d8
mov ecx, ebx
xor ebp, ebp
test ecx, 0xfffffff0
je 0x44f2f0
shr ecx, 4
add ebp, 4
test ecx, 0xfffffff0
jne 0x44f2e2
test ecx, ecx
je 0x44f2fb
shr ecx, 1
inc ebp
test ecx, ecx
jne 0x44f2f4
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.0044fa10
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 0x44f30b
neg ecx
shl esi, cl
sub edx, edi
mov edi, ebp
test ebp, ebp
mov dword [esp + 0x10], edx
mov eax, esi
jle 0x44f3b5
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 0x44f3a7
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.0044fa10
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 0x44f36d
mov ebx, dword [esp + 0x34]
neg ecx
shl esi, cl
or eax, esi
sub edx, edi
mov dword [esp + 0x10], edx
jmp 0x44f3b9
mov ebx, dword [esp + 0x34]
test ebp, ebp
mov edi, ebp
jle 0x44f41b
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 0x44f40f
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.0044fa10
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 0x44f3d9
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 0x44f460
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.0044fa10
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 0x44f42a
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.0044ffa0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0044ffa0
test edi, edi
mov eax, edi
jge 0x44f496
neg eax
push eax
lea ecx, [esp + 0x14]
call fcn.0044fea0
mov esi, eax
push 4
inc esi
lea ecx, [esp + 0x14]
lea eax, [esi - 2]
push eax
call fcn.0044ffa0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push esi
push edi
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov esi, dword [esp + 0x38]
push 1
push 1
lea ecx, [esp + 0x18]
neg esi
call fcn.0044ffa0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0044ffa0
test esi, esi
mov eax, esi
jge 0x44f4ff
neg eax
push eax
lea ecx, [esp + 0x14]
call fcn.0044fea0
mov ebp, eax
push 4
inc ebp
lea ecx, [ebp - 2]
push ecx
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push ebp
push esi
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0044ffa0
test ebx, ebx
jl 0x44f560
mov edi, ebx
push edi
lea ecx, [esp + 0x14]
call fcn.0044fea0
mov esi, eax
push 4
inc esi
lea ecx, [esp + 0x14]
lea edx, [esi - 2]
push edx
call fcn.0044ffa0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push esi
push ebx
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov esi, dword [esp + 0x38]
push 1
push esi
lea ecx, [esp + 0x18]
call fcn.004503a0
push 6
push 0
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov eax, dword [esp + 0x10]
mov edi, 8
cmp eax, edi
jge 0x44f5d9
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
call fcn.0044fa10
lea ecx, [esp + 0x10]
call fcn.0044fc20
push 0
push 0x1a
lea ecx, [esp + 0x18]
call fcn.0044fab0
push 1
lea ecx, [esp + 0x14]
call fcn.0044e330
test eax, eax
je 0x44f613
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.0044e3d0
push 2
lea ecx, [esp + 0x14]
call fcn.0044e3d0
push 1
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], 0
call fcn.0044ffa0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push 5
push 0x10
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov eax, ebx
push 0x10
cdq
sub eax, edx
lea ecx, [esp + 0x14]
sar eax, 1
neg eax
push eax
call fcn.0044ffa0
mov eax, esi
push 0x10
cdq
sub eax, edx
lea ecx, [esp + 0x14]
sar eax, 1
neg eax
push eax
call fcn.0044ffa0
lea ecx, [esp + 0x10]
call fcn.0044fef0
lea ecx, [esp + 0x10]
call fcn.0044fc20
push 0
push 1
lea ecx, [esp + 0x18]
call fcn.0044fab0
lea ecx, [esp + 0x10]
call fcn.0044fc20
jmp 0x44f8b3
lea ecx, [esp + 0x34]
call fcn.004bae90
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 0x44f737
cmp byte [edi], 0xff
jne 0x44f71e
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x34]
push eax
push edi
call fcn.004bb050
test eax, eax
je 0x44f71e
mov eax, dword [esp + 0x5c]
shr eax, 3
cmp eax, esi
je 0x44f727
lea ecx, [eax + 4]
cmp ecx, esi
ja 0x44f71e
lea edx, [esp + 0x74]
add eax, edi
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.004bb050
test eax, eax
jne 0x44f727
inc edi
dec esi
cmp esi, 4
jb 0x44f737
jmp 0x44f6df
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 0x44f78d
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x34]
push edx
push edi
call fcn.004bb050
test eax, eax
je 0x44f78d
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 0x44f752
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.004500e0
push 0xc00
lea ecx, [esp + 0x14]
call fcn.0044e3d0
push 1
lea ecx, [esp + 0x14]
call fcn.0044e3d0
push 1
push 0xe
lea ecx, [esp + 0x18]
call fcn.0044fab0
push 1
lea ecx, [esp + 0x14]
call fcn.0044e3d0
push 4
push 2
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], esi
call fcn.0044ffa0
mov ecx, ebx
mov eax, 3
dec ecx
je 0x44f820
dec ecx
jne 0x44f837
mov ecx, dword [esp + 0x38]
sub ecx, esi
je 0x44f819
dec ecx
je 0x44f832
dec ecx
jne 0x44f837
jmp 0x44f837
mov eax, 1
jmp 0x44f837
mov ecx, dword [esp + 0x38]
sub ecx, esi
je 0x44f832
dec ecx
jne 0x44f837
mov eax, 3
jmp 0x44f837
mov eax, 2
push 2
push eax
lea ecx, [esp + 0x18]
call fcn.0044ffa0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0044ffa0
mov edx, dword [esp + 0x58]
xor eax, eax
cmp edx, 1
push 1
setne al
push eax
lea ecx, [esp + 0x18]
call fcn.0044ffa0
lea ecx, [esp + 0x10]
call fcn.0044fef0
push ebp
lea ecx, [esp + 0x14]
call fcn.0044e480
push esi
lea ecx, [esp + 0x14]
call fcn.0044e3d0
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.0044f960
lea ecx, [esp + 0x10]
call fcn.0044fc20
lea ecx, [esp + 0x34]
call fcn.004baed0
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
push esi
mov dword [esp + 0x20], 4
call fcn.0044e480
mov ecx, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x58]
push ecx
mov ecx, esi
call fcn.00451100
mov ecx, dword [esi + 0x57c]
test ecx, ecx
je 0x44f917
push 0
call fcn.004551f0
test eax, eax
je 0x44f917
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.004551f0
push eax
call fcn.00406970
add esp, 0x10
lea ecx, [esp + 0x10]
call fcn.0044f930
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4e0
ret 0xc