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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6270a8
mov eax, dword fs:[0]
push eax
sub esp, 0x188
mov eax, dword [0x7161c0]
xor eax, esp
mov dword [esp + 0x180], eax
push ebx
push esi
push edi
mov eax, dword [0x7161c0]
xor eax, esp
push eax
lea eax, [esp + 0x198]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi + 0x308]
xor esi, esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x54], esi
call fcn.00580b60
mov dword [esp + 0x60], eax
jmp 0x57f183
xor esi, esi
push esi
lea ecx, [edi + 0x90]
call fcn.00492990
test eax, eax
jne 0x57f8a8
lea ecx, [edi + 0x2d0]
mov dword [esp + 0x20], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
call fcn.004e2270
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x57f8a8
lea ebx, [ebx]
lea eax, [esp + 0x14]
push eax
lea ecx, [edi + 0x2d0]
call fcn.0057ace0
mov esi, eax
mov ecx, dword [esi]
push ecx
mov ecx, dword [esp + 0x64]
call fcn.00580720
mov ebx, eax
mov ecx, ebx
call fcn.005802b0
push eax
mov ecx, edi
call fcn.00522ef0
cmp dword [eax + 0x18], 0
je 0x57f2a9
mov ecx, ebx
call fcn.004403c0
test eax, eax
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
jge 0x57f212
fadd qword [0x647ac0]
mov eax, dword [esi + 0x14]
fdivr qword [0x632b98]
mov edx, dword [esi + 0x10]
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0x128], ecx
mov dword [esp + 0x124], 0
fild qword [esp + 0xec]
fild qword [esp + 0x124]
fchs
faddp st(1)
fmulp st(1)
call fcn.005dc8d6
mov ecx, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
call fcn.005802e0
cmp dword [esi + 8], eax
jae 0x57f2a9
cmp dword [esp + 0x20], 0
je 0x57f295
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x78]
jg 0x57f2a9
jl 0x57f295
mov ecx, dword [esp + 0x64]
cmp ecx, dword [esp + 0x74]
jae 0x57f2a9
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
cmp dword [esp + 0x14], 0
jne 0x57f1c0
cmp dword [esp + 0x20], 0
je 0x57f8a8
mov esi, dword [esp + 0x20]
mov ecx, dword [esi]
push ecx
mov ecx, dword [esp + 0x64]
call fcn.00580720
mov ebx, eax
mov ecx, ebx
mov dword [esp + 0x30], ebx
call fcn.005802b0
push eax
mov ecx, edi
call fcn.00522ef0
lea ecx, [esp + 0x12c]
mov dword [esp + 0x14], eax
call fcn.0057ffe0
lea ecx, [esp + 0x80]
mov dword [esp + 0x1a0], 0
call fcn.00580d10
mov eax, dword [esp + 0x14]
test eax, eax
mov byte [esp + 0x1a0], 1
je 0x57f81b
cmp dword [eax + 0x18], 0
je 0x57f81b
mov ecx, dword [esi + 8]
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x130]
push eax
push ecx
mov ecx, ebx
call fcn.00580340
test eax, eax
jne 0x57f81b
push 0x40
call fcn.005b4633
add esp, 4
test eax, eax
je 0x57f365
mov ecx, eax
call fcn.004e2610
mov esi, eax
jmp 0x57f367
xor esi, esi
mov dword [esp + 0x50], esi
mov ecx, ebx
mov byte [esp + 0x1a0], 2
call fcn.005802b0
mov dword [esi + 0x18], eax
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x148]
mov ecx, ebx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
call fcn.004403c0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x57f3b2
fadd qword [0x647ac0]
mov ecx, dword [esp + 0x9c]
fdivr qword [0x632b98]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x11c], ecx
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0x120], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xdc], 0
fild qword [esp + 0x11c]
fild qword [esp + 0xdc]
fchs
faddp st(1)
fmulp st(1)
call fcn.005dc8d6
cmp dword [esp + 0x54], 0
jne 0x57f43b
mov ecx, eax
sub ecx, dword [edi + 0x208]
mov ebx, edx
sbb ebx, dword [edi + 0x20c]
mov dword [esp + 0x54], 1
mov dword [edi + 0x314], ebx
mov ebx, dword [esp + 0x30]
mov dword [edi + 0x310], ecx
sub eax, dword [edi + 0x310]
mov ecx, ebx
sbb edx, dword [edi + 0x314]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x150]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
call fcn.004403c0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x57f482
fadd qword [0x647ac0]
mov ecx, dword [esp + 0xac]
fdivr qword [0x683200]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xfc], ecx
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0x100], eax
mov dword [esp + 0x110], ecx
mov dword [esp + 0x10c], 0
fild qword [esp + 0xfc]
fild qword [esp + 0x10c]
fchs
faddp st(1)
fmulp st(1)
call fcn.005dc8d6
mov ecx, dword [esi + 0x28]
sub ecx, eax
mov eax, dword [esi + 0x2c]
push 0
sbb eax, edx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
push 0x711ea8
mov dword [esi + 0x20], 1
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x1c]
push 0x711e90
lea ecx, [eax + 0x1c]
mov eax, dword [edx + 0x14]
push 0
push 0
push str.mdia_minf_stbl_stss
call eax
push eax
call fcn.005da3f0
add esp, 0x14
test eax, eax
mov dword [esp + 0x34], eax
je 0x57f57a
mov ecx, eax
cmp dword [ecx + 0x24], 0
jbe 0x57f57a
xor eax, eax
mov edx, ecx
mov dword [esi + 0x20], eax
cmp dword [edx + 0x24], eax
mov dword [esp + 0x18], eax
jbe 0x57f57a
nop
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
push eax
add ecx, 0x1c
call fcn.005887a0
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
sub ecx, 1
cmp ecx, dword [edx + 8]
jne 0x57f566
mov dword [esi + 0x20], 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
add eax, 1
cmp eax, dword [ecx + 0x24]
mov dword [esp + 0x18], eax
jb 0x57f540
mov eax, dword [ebx + 0xc]
cmp eax, 1
mov ecx, dword [esp + 0x90]
jne 0x57f8ce
cmp ecx, 1
jne 0x57f8ce
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x78]
cmp word [eax + 0xc], cx
mov dword [esp + 0x34], 0x4b0
jbe 0x57f5cf
movzx ecx, word [eax + 0xc]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
xor edx, edx
div ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x20]
sub eax, edx
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x28]
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [eax + 8]
lea edx, [esp + 0x130]
push edx
push ecx
mov ecx, ebx
mov dword [esp + 0x20], 1
call fcn.00580340
test eax, eax
jne 0x57f7f3
lea ebx, [ebx]
mov eax, dword [esp + 0x90]
test eax, eax
mov edx, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x18], 0
jbe 0x57f680
lea edi, [esi + 8]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
mov dl, byte [ecx + eax]
mov byte [esp + 0x28], dl
jb 0x57f65f
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.004e1f50
test al, al
je 0x57ffca
mov eax, dword [edi]
add eax, ebx
je 0x57f66b
mov cl, byte [esp + 0x28]
mov byte [eax], cl
mov eax, dword [esp + 0x18]
add dword [edi + 4], 1
add eax, 1
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
jb 0x57f635
cmp dword [esp + 0x14], 0
mov ebx, dword [esp + 0x30]
je 0x57f721
mov edx, dword [esp + 0x148]
mov edi, dword [esp + 0x144]
mov ecx, ebx
mov dword [esp + 0x158], edx
call fcn.004403c0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x57f6bd
fadd qword [0x647ac0]
mov eax, dword [esp + 0x158]
fdivr qword [0x632b98]
mov ecx, eax
mov dword [esp + 0x104], edi
and eax, 0x7fffffff
and ecx, 0x80000000
xor edi, edi
mov dword [esp + 0x108], eax
mov dword [esp + 0x118], ecx
mov dword [esp + 0x114], edi
fild qword [esp + 0x104]
fild qword [esp + 0x114]
fchs
faddp st(1)
fmulp st(1)
call fcn.005dc8d6
mov dword [esi + 0x34], edx
mov dword [esi + 0x30], eax
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x2c], ecx
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x150]
mov edi, dword [esp + 0x14c]
mov ecx, ebx
mov dword [esp + 0x160], edx
call fcn.004403c0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x57f74f
fadd qword [0x647ac0]
mov eax, dword [esp + 0x160]
fdivr qword [0x632b98]
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf4], edi
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe4], 0
fild qword [esp + 0xf4]
fild qword [esp + 0xe4]
fchs
faddp st(1)
fmulp st(1)
call fcn.005dc8d6
add dword [esi + 0x30], eax
mov eax, dword [esp + 0x20]
mov ecx, ebx
adc dword [esi + 0x34], edx
mov edi, dword [eax + 8]
add edi, 1
call fcn.005802e0
cmp edi, eax
jae 0x57f7ef
mov ecx, dword [esp + 0x34]
cmp dword [esi + 0xc], ecx
jae 0x57f7ef
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x80]
push edx
lea ecx, [esp + 0x130]
push ecx
mov edx, edi
push edx
mov ecx, ebx
mov dword [eax + 8], edi
call fcn.00580340
test eax, eax
je 0x57f610
mov edi, dword [esp + 0x24]
push ecx
mov eax, esp
mov dword [esp + 0x54], esp
mov ecx, edi
mov dword [esp + 0x54], 0
mov dword [eax], esi
call fcn.00524990
mov esi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov byte [esp + 0x1a0], 1
lea ecx, [esp + 0x164]
call fcn.0057ffe0
add dword [esi + 8], 1
mov eax, dword [esi + 8]
lea edx, [esp + 0x164]
push edx
push eax
mov ecx, ebx
mov byte [esp + 0x1a8], 0x12
call fcn.00580300
test eax, eax
jne 0x57f85e
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
lea ecx, [esp + 0x164]
mov byte [esp + 0x1a0], 1
call fcn.00580000
lea ecx, [esp + 0x80]
mov byte [esp + 0x1a0], 0
call fcn.00580d80
lea ecx, [esp + 0x12c]
mov dword [esp + 0x1a0], 0xffffffff
call fcn.00580000
cmp dword [esp + 0x18], 0
jge 0x57f181
mov al, 1
mov ecx, dword [esp + 0x198]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x180]
xor ecx, esp
call fcn.005d8d34
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x57ffb5
lea ecx, [esp + 0x40]
call fcn.004019e0
lea ecx, [esp + 0x48]
call fcn.004019e0
mov eax, dword [esp + 0x90]
cmp eax, 2
mov ecx, dword [esp + 0x88]
mov byte [esp + 0x1a0], 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x44], eax
jbe 0x57fe68
movzx dx, byte [ecx + 1]
mov dh, byte [ecx]
add eax, 0xfffffffe
movzx ecx, dx
mov dword [esp + 0x1c], ecx
movzx ecx, cx
cmp ecx, eax
mov dword [esp + 0x30], ecx
ja 0x57fe68
lea ecx, [esp + 0x2c]
call fcn.004019e0
cmp word [esp + 0x1c], 2
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x1a0], 5
jb 0x57fa14
cmp byte [ecx + 2], 0xfe
lea eax, [ecx + 2]
jne 0x57fa14
cmp byte [ecx + 3], 0xff
jne 0x57fa14
mov ecx, dword [esp + 0x30]
shr ecx, 1
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.00508970
mov eax, dword [esp + 0x3c]
xor edi, edi
cmp dword [eax - 0xc], edi
mov byte [esp + 0x1a0], 6
jle 0x57f9d2
lea esp, [esp]
push edi
lea ecx, [esp + 0x40]
call fcn.004a50c0
shr ax, 8
push edi
lea ecx, [esp + 0x40]
mov word [esp + 0xcc], ax
call fcn.004a50c0
xor edx, edx
mov dh, al
lea ecx, [esp + 0x3c]
or edx, dword [esp + 0xc8]
push edx
push edi
call fcn.004a5150
mov eax, dword [esp + 0x3c]
add edi, 1
cmp edi, dword [eax - 0xc]
jl 0x57f990
push eax
lea eax, [esp + 0xac]
push eax
call fcn.00498f60
add esp, 8
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x1a4], 7
call fcn.00403020
lea ecx, [esp + 0xa8]
call fcn.00401a50
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1a0], 5
call fcn.004194a0
jmp 0x57fa4f
mov edx, dword [esp + 0x30]
add ecx, 2
push edx
push ecx
lea ecx, [esp + 0xc8]
call fcn.004a7600
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x1a4], 8
call fcn.00403020
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1a0], 5
call fcn.00401a50
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
call fcn.00402bc0
mov ecx, dword [esp + 0x14]
add ecx, 0x44
push 0x63c24c
push ecx
mov byte [esp + 0x1a8], 9
call fcn.00401250
add esp, 8
test eax, eax
je 0x57fe14
mov edx, dword [esp + 0x138]
push edx
mov ecx, ebx
call fcn.00580320
mov edi, eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0xb8]
push str.0_0_Text__0000_0000_0000_0000__
push ecx
call fcn.0042f4c0
add esp, 0xc
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1a4], 0xa
call fcn.00403020
lea ecx, [esp + 0xb4]
mov byte [esp + 0x1a0], 9
call fcn.00401a50
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x4c]
call fcn.00403020
mov eax, dword [ebx + 4]
xor edx, edx
push edx
push 0x712098
push 0x711e90
push edx
lea ecx, [eax + 0x1c]
mov eax, dword [ecx]
push edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov edx, dword [eax + 0x10]
push 0x746b6864
call edx
push eax
call fcn.005da3f0
add esp, 0x14
test eax, eax
je 0x57fb56
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0x98]
push edx
mov ecx, eax
call fcn.0057a930
fld dword [esp + 0x98]
call fcn.005dc8a0
fld dword [esp + 0x94]
mov dword [esp + 0x1c], eax
call fcn.005dc8a0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
push 0
push 0x71206c
push 0x712170
push 0
push edi
call fcn.005da3f0
add esp, 0x14
test eax, eax
je 0x57fe14
mov edi, dword [eax + 8]
push 0
push 0x712048
push 0x712028
push 0
push edi
call fcn.005da3f0
add esp, 0x14
test eax, eax
jne 0x57fe14
push eax
push 0x712004
push 0x712028
push eax
push edi
call fcn.005da3f0
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], eax
je 0x57fe14
mov edi, eax
push str.Arial
lea ecx, [esp + 0x50]
add edi, 0x38
call fcn.0041a030
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx + 0x10]
push 0
push 0x7121bc
push 0x711e90
push 0
add ecx, 0x1c
push 0
push 0x66746162
mov byte [esp + 0x1b8], 0xb
call eax
push eax
call fcn.005da3f0
add esp, 0x14
test eax, eax
je 0x57fc78
mov dword [esp + 0x17c], 0xf
mov dword [esp + 0x178], 0
mov byte [esp + 0x168], 0
movzx edx, word [edi + 0x18]
lea ecx, [esp + 0x164]
push ecx
push edx
mov ecx, eax
mov byte [esp + 0x1a8], 0xc
call fcn.0057b980
test eax, eax
jne 0x57fc64
cmp dword [esp + 0x17c], 0x10
mov eax, dword [esp + 0x168]
jae 0x57fc5a
lea eax, [esp + 0x168]
push eax
lea ecx, [esp + 0x50]
call fcn.0041f850
lea ecx, [esp + 0x164]
mov byte [esp + 0x1a0], 0xb
call fcn.0043da50
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x34]
sbb edx, dword [esi + 0x2c]
lea eax, [esp + 0xcc]
push eax
push 0
push 0x2710
push edx
push ecx
call fcn.005da540
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x304]
mov eax, dword [eax + 0x300]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x5c]
sub eax, ecx
sub eax, 2
push eax
lea eax, [ecx + edx + 2]
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x64], esp
push edx
mov dword [esp + 0x40], eax
call fcn.0041efe0
push edi
push ecx
mov ecx, dword [esp + 0x54]
mov eax, esp
mov dword [esp + 0x3c], esp
push ecx
push eax
mov byte [esp + 0x1d0], 0xd
call fcn.00498de0
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0xa0]
add esp, 8
push edx
mov byte [esp + 0x1cc], 0xb
call fcn.0057e0f0
mov eax, dword [esp + 0x9c]
push eax
lea ecx, [esp + 0xf4]
push ecx
mov byte [esp + 0x1d4], 0xe
call fcn.00498f60
add esp, 0x34
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1a4], 0xf
call fcn.00403020
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1a0], 0xe
call fcn.00401a50
cmp byte [edi + 0xb], 0
je 0x57fdfa
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xbc], ecx
neg ecx
mov dword [esp + 0xb8], eax
push ecx
neg eax
push eax
lea edx, [esp + 0xd4]
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
push eax
push ecx
push eax
mov eax, dword [esp + 0xe0]
push eax
push edx
push eax
movzx eax, byte [edi + 0xb]
push edx
movzx edx, byte [edi + 8]
push ecx
mov ecx, 0xff
sub ecx, eax
movzx eax, byte [edi + 9]
push ecx
movzx ecx, byte [edi + 0xa]
push edx
mov edx, dword [esp + 0xe4]
push eax
mov eax, dword [esp + 0xe4]
push ecx
push edx
push eax
lea ecx, [esp + 0x78]
push str.0__1_Text__0_0_0_0___an7pos__d__d_1c_02x_02x_02x1a_02x_bord0_shad0p1m__d__d_l__d__d_l__d__d_l__d__d_p0
push ecx
call fcn.004030a0
add esp, 0x40
lea ecx, [esp + 0x70]
call fcn.004194a0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1a0], 9
call fcn.004194a0
push 0x630be8
push 0x683164
lea ecx, [esp + 0x40]
call fcn.004166e0
push 0x683160
push 0x631180
lea ecx, [esp + 0x40]
call fcn.004166e0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, esi
call fcn.004e2c60
lea ecx, [esp + 0x38]
call fcn.00401a50
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1a0], 4
call fcn.00401a50
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
cmp dword [edx - 0xc], 0
je 0x57ff00
push 0x40
call fcn.005b4633
add esp, 4
test eax, eax
je 0x57fe8f
mov ecx, eax
call fcn.004e2610
mov edi, eax
jmp 0x57fe91
xor edi, edi
mov dword [esp + 0x14], edi
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov ecx, dword [esi + 0x28]
mov dword [edi + 0x28], ecx
mov edx, dword [esi + 0x2c]
mov dword [edi + 0x2c], edx
mov eax, dword [esi + 0x30]
mov dword [edi + 0x30], eax
mov ecx, dword [esi + 0x34]
mov eax, dword [esp + 0x40]
mov dword [edi + 0x34], ecx
mov edx, dword [esi + 0x20]
mov dword [edi + 0x20], edx
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
mov byte [esp + 0x1a8], 0x10
call fcn.004e2c60
push ecx
mov ecx, dword [esp + 0x28]
mov eax, esp
mov dword [esp + 0x20], esp
mov dword [esp + 0x18], 0
mov dword [eax], edi
call fcn.00524990
lea ecx, [esp + 0x14]
mov byte [esp + 0x1a0], 4
call fcn.004e21b0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
cmp dword [eax - 0xc], 0
je 0x57ff96
push 0x40
call fcn.005b4633
add esp, 4
test eax, eax
je 0x57ff27
mov ecx, eax
call fcn.004e2610
mov edi, eax
jmp 0x57ff29
xor edi, edi
mov dword [esp + 0x14], edi
mov ecx, dword [esi + 0x18]
xor ecx, 0x80402010
mov dword [edi + 0x18], ecx
mov edx, dword [esi + 0x28]
mov dword [edi + 0x28], edx
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x2c], eax
mov ecx, dword [esi + 0x30]
mov dword [edi + 0x30], ecx
mov edx, dword [esi + 0x34]
mov dword [edi + 0x34], edx
mov eax, dword [esi + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
mov byte [esp + 0x1a8], 0x11
call fcn.004e2c60
push ecx
mov ecx, dword [esp + 0x28]
mov eax, esp
mov dword [esp + 0x20], esp
mov dword [esp + 0x18], 0
mov dword [eax], edi
call fcn.00524990
lea ecx, [esp + 0x14]
call fcn.004e21b0
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0x48]
call fcn.00401a50
lea ecx, [esp + 0x40]
mov byte [esp + 0x1a0], 2
call fcn.00401a50
jmp 0x57f7f3
push ecx
mov ecx, dword [esp + 0x8c]
push ecx
mov ecx, esi
call fcn.004e2c60
jmp 0x57f7f3
push 0x8007000e
call fcn.00401470
int3