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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5a9101
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
push esi
push edi
mov dword [esp + 0x18], ecx
push 0x1c
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
xor edi, edi
cmp eax, edi
mov dword [esp + 0x80], edi
je 0x5664dc
push edi
mov ecx, eax
call fcn.00589490
mov ebx, eax
jmp 0x5664de
xor ebx, ebx
or esi, 0xffffffff
push 0x1c
mov dword [esp + 0x34], ebx
mov dword [esp + 0x84], esi
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, edi
mov dword [esp + 0x80], 1
je 0x566517
push edi
mov ecx, eax
call fcn.00589490
mov dword [esp + 0x14], eax
jmp 0x56651b
mov dword [esp + 0x14], edi
mov dword [esp + 0x80], esi
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.00562a00
mov edi, 1
lea ecx, [esp + 0x50]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], edi
call fcn.00442a20
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], 2
mov eax, dword [ecx]
call dword [eax + 0x68]
mov ecx, esi
call fcn.00567300
test eax, eax
jne 0x56661d
mov ecx, esi
call fcn.00562a20
mov ecx, esi
call fcn.00562a10
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc8]
mov edi, eax
mov ecx, ebx
push edi
mov dword [esp + 0x10], edi
call fcn.00589ae0
mov ecx, edi
call fcn.0055c800
mov ecx, dword [esp + 0xc]
mov edi, eax
mov dword [esp + 0x34], edi
call fcn.00567320
cmp eax, 1
jne 0x5665b2
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
cmp eax, 2
jl 0x56661d
dec eax
mov dword [esp + 0x40], eax
mov ecx, esi
call fcn.00589c30
mov ecx, esi
call fcn.00562a10
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc8]
push eax
mov ecx, ebx
mov dword [esp + 0x10], eax
call fcn.00589ae0
mov ecx, dword [esp + 0xc]
call fcn.0055c800
cmp eax, edi
jle 0x5665fc
mov ecx, dword [esp + 0xc]
call fcn.0055c800
mov edi, eax
mov ecx, dword [esp + 0xc]
call fcn.00567320
cmp eax, 1
jne 0x56660e
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x40], eax
jne 0x5665c0
mov dword [esp + 0x34], edi
mov ecx, ebx
call fcn.00562a20
mov ecx, ebx
call fcn.00562a10
mov esi, eax
mov ecx, esi
call fcn.0055c800
cmp eax, edi
je 0x566655
mov ecx, esi
call fcn.0055c800
cmp eax, edi
je 0x566655
mov ecx, esi
call fcn.00534fd0
mov ecx, esi
call fcn.0055c800
cmp eax, edi
jne 0x566643
cmp dword [esp + 0x24], 1
jne 0x566663
mov ecx, esi
call fcn.00562570
mov ecx, esi
call fcn.005368e0
push 1
mov ecx, esi
call fcn.0052fdc0
fstp qword [esp + 0xc]
mov ecx, esi
call fcn.00562590
push eax
mov ecx, esi
call fcn.0052fdc0
fstp qword [esp + 0x44]
push 1
mov ecx, esi
call fcn.0052fdc0
fsubr qword [esp + 0x44]
mov ecx, esi
mov dword [esp + 0x1c], 1
fstp qword [esp + 0x44]
call fcn.00562590
cmp eax, 1
jl 0x5666eb
mov eax, dword [esp + 0x1c]
mov ecx, esi
push eax
call fcn.0052fdc0
fsub qword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
sub esp, 8
fdiv qword [esp + 0x4c]
fstp qword [esp]
push ecx
mov ecx, esi
call fcn.00443030
mov edx, dword [esp + 0x1c]
mov ecx, esi
inc edx
mov dword [esp + 0x1c], edx
call fcn.00562590
cmp dword [esp + 0x1c], eax
jle 0x5666af
mov eax, dword [esp + 0x20]
cmp eax, 2
jl 0x5667cc
mov edx, eax
dec edx
mov dword [esp + 0x40], edx
jmp 0x566705
mov edi, dword [esp + 0x34]
mov ecx, ebx
call fcn.00589c30
mov ecx, ebx
call fcn.00562a10
mov esi, eax
mov ecx, esi
call fcn.0055c800
cmp eax, edi
je 0x56673d
mov ecx, esi
call fcn.0055c800
cmp eax, edi
je 0x56673d
mov ecx, esi
call fcn.00534fd0
mov ecx, esi
call fcn.0055c800
cmp eax, edi
jne 0x56672b
cmp dword [esp + 0x24], 1
jne 0x56674b
mov ecx, esi
call fcn.00562570
mov ecx, esi
call fcn.005368e0
push 1
mov ecx, esi
call fcn.0052fdc0
fstp qword [esp + 0xc]
mov ecx, esi
call fcn.00562590
push eax
mov ecx, esi
call fcn.0052fdc0
fstp qword [esp + 0x44]
push 1
mov ecx, esi
call fcn.0052fdc0
fsubr qword [esp + 0x44]
mov ecx, esi
mov edi, 1
fstp qword [esp + 0x44]
call fcn.00562590
cmp eax, edi
jl 0x5667bd
push edi
mov ecx, esi
call fcn.0052fdc0
fsub qword [esp + 0xc]
sub esp, 8
mov ecx, esi
fdiv qword [esp + 0x4c]
fstp qword [esp]
push edi
call fcn.00443030
mov ecx, esi
inc edi
call fcn.00562590
cmp edi, eax
jle 0x566793
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x40], eax
jne 0x566701
mov ecx, dword [esp + 0x18]
push ebx
call fcn.005625a0
mov eax, dword [esp + 0x24]
mov ecx, ebx
test eax, eax
je 0x566f15
call fcn.00562a20
mov ecx, ebx
call fcn.00562a10
mov ecx, eax
call fcn.00567310
mov esi, 1
mov dword [esp + 0x40], eax
cmp eax, esi
jl 0x566ae7
push 0x1c
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov byte [esp + 0x80], 3
je 0x566838
push 0
call fcn.00580c40
add esp, 4
mov ecx, edi
push eax
call fcn.00443110
jmp 0x56683a
xor eax, eax
mov ecx, eax
mov byte [esp + 0x80], 2
mov dword [0x60a574], eax
call fcn.0053b750
mov eax, dword [0x60a574]
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.00562a20
mov ecx, ebx
call fcn.00562a10
push 0x28
mov edi, eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov byte [esp + 0x80], 4
je 0x56688e
mov ecx, eax
call fcn.00442a20
mov dword [esp + 0x24], eax
jmp 0x566896
mov dword [esp + 0x24], 0
push esi
mov ecx, edi
mov byte [esp + 0x84], 2
call fcn.00534f90
mov ecx, dword [esp + 0x24]
push eax
call fcn.00442f90
push 0x30
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov byte [esp + 0x80], 5
je 0x5668d7
mov ecx, eax
call fcn.00541960
mov dword [esp + 0xc], eax
jmp 0x5668df
mov dword [esp + 0xc], 0
push 0x3ff00000
push 0
push esi
mov ecx, edi
mov byte [esp + 0x8c], 2
call fcn.00534fb0
sub esp, 8
mov ecx, edi
fstp qword [esp]
push esi
call fcn.00534fb0
fstp qword [esp + 0x54]
mov ecx, dword [esp + 0x34]
call fcn.004429e0
fmul qword [esp + 0x54]
sub esp, 8
mov ecx, edi
fstp qword [esp]
push esi
call fcn.00534fb0
fstp qword [esp + 0x5c]
mov ecx, dword [esp + 0x3c]
call fcn.004429a0
fmul qword [esp + 0x5c]
sub esp, 8
mov ecx, edi
fstp qword [esp]
push esi
call fcn.00534fb0
fstp qword [esp + 0x64]
mov ecx, dword [esp + 0x44]
call fcn.00442960
fmul qword [esp + 0x64]
mov edi, dword [esp + 0x2c]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.005419c0
mov ecx, dword [esp + 0x1c]
push edi
call fcn.00586a40
mov eax, dword [esp + 0x20]
cmp eax, 2
jl 0x566a9c
mov ecx, eax
dec ecx
mov dword [esp + 0xc], ecx
mov ecx, ebx
call fcn.00589c30
mov ecx, ebx
call fcn.00562a10
push 0x28
mov edi, eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov byte [esp + 0x80], 6
je 0x5669b7
mov ecx, eax
call fcn.00442a20
mov ebx, eax
jmp 0x5669b9
xor ebx, ebx
push esi
mov ecx, edi
mov byte [esp + 0x84], 2
call fcn.00534f90
push eax
mov ecx, ebx
call fcn.00442f90
push 0x30
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov byte [esp + 0x80], 7
je 0x5669f8
mov ecx, eax
call fcn.00541960
mov dword [esp + 0x24], eax
jmp 0x566a00
mov dword [esp + 0x24], 0
push 0x3ff00000
push 0
push esi
mov ecx, edi
mov byte [esp + 0x8c], 2
call fcn.00534fb0
sub esp, 8
mov ecx, edi
fstp qword [esp]
push esi
call fcn.00534fb0
fstp qword [esp + 0x54]
mov ecx, ebx
call fcn.004429e0
fmul qword [esp + 0x54]
sub esp, 8
mov ecx, edi
fstp qword [esp]
push esi
call fcn.00534fb0
fstp qword [esp + 0x5c]
mov ecx, ebx
call fcn.004429a0
fmul qword [esp + 0x5c]
sub esp, 8
mov ecx, edi
fstp qword [esp]
push esi
call fcn.00534fb0
fstp qword [esp + 0x64]
mov ecx, ebx
call fcn.00442960
fmul qword [esp + 0x64]
mov edi, dword [esp + 0x44]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.005419c0
mov ecx, dword [esp + 0x1c]
push edi
call fcn.00586a40
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x30]
dec eax
mov dword [esp + 0xc], eax
jne 0x566982
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
push eax
push edi
call fcn.00560920
mov ecx, dword [esp + 0x14]
push eax
call fcn.00589ae0
test edi, edi
je 0x566ada
mov ecx, edi
call fcn.0053b760
mov ecx, edi
call fcn.0053b770
test eax, eax
jne 0x566ada
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov eax, dword [esp + 0x40]
inc esi
cmp esi, eax
jle 0x566808
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x566afc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
call fcn.005625a0
mov ecx, ebx
call fcn.00562a20
mov ecx, ebx
call fcn.00562a10
mov ecx, eax
call fcn.00567310
mov esi, dword [esp + 0x14]
mov ebx, eax
mov ecx, esi
mov dword [esp + 0x24], ebx
call fcn.00562a20
mov ecx, esi
call fcn.00562a10
mov ecx, eax
call fcn.00567310
mov ecx, dword [esp + 0x18]
mov edi, eax
call fcn.00562d30
mov eax, dword [esp + 0x34]
push 0
lea ecx, [edi + 4]
push 1
lea edx, [ebx + eax]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push 4
push eax
push edi
push ebx
call fcn.005653a0
mov ecx, esi
call fcn.00562a20
mov ecx, esi
call fcn.00562a10
mov ebx, dword [esp + 0x18]
mov esi, 1
cmp edi, esi
mov dword [esp + 0xc], eax
jl 0x566c13
mov ecx, dword [esp + 0xc]
push esi
call fcn.00534f90
push eax
lea ecx, [esp + 0x54]
call fcn.00442f90
mov ecx, dword [esp + 0xc]
push esi
call fcn.00534fb0
fstp qword [esp + 0x34]
push 0x3ff00000
push 0
lea ecx, [esp + 0x58]
call fcn.004429e0
fdiv qword [esp + 0x3c]
sub esp, 8
lea ecx, [esp + 0x60]
fstp qword [esp]
call fcn.004429a0
fdiv qword [esp + 0x44]
sub esp, 8
lea ecx, [esp + 0x68]
fstp qword [esp]
call fcn.00442960
fdiv qword [esp + 0x4c]
sub esp, 8
lea ecx, [esp + 0x70]
fstp qword [esp]
call fcn.00442f00
lea eax, [esp + 0x50]
mov ecx, ebx
push eax
push esi
push 1
call fcn.00567420
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push ecx
push edx
push esi
push 1
mov ecx, ebx
call fcn.005673f0
inc esi
cmp esi, edi
jle 0x566b7c
mov ecx, dword [esp + 0x24]
mov eax, 2
cmp ecx, eax
mov dword [esp + 0x1c], eax
jl 0x566cfd
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00589c30
mov ecx, esi
call fcn.00562a10
mov esi, 1
mov dword [esp + 0xc], eax
cmp edi, esi
jl 0x566ce8
mov ecx, dword [esp + 0xc]
push esi
call fcn.00534f90
push eax
lea ecx, [esp + 0x54]
call fcn.00442f90
mov ecx, dword [esp + 0xc]
push esi
call fcn.00534fb0
fstp qword [esp + 0x34]
push 0x3ff00000
push 0
lea ecx, [esp + 0x58]
call fcn.004429e0
fdiv qword [esp + 0x3c]
sub esp, 8
lea ecx, [esp + 0x60]
fstp qword [esp]
call fcn.004429a0
fdiv qword [esp + 0x44]
sub esp, 8
lea ecx, [esp + 0x68]
fstp qword [esp]
call fcn.00442960
fdiv qword [esp + 0x4c]
sub esp, 8
lea ecx, [esp + 0x70]
fstp qword [esp]
call fcn.00442f00
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x50]
push eax
push esi
push ecx
mov ecx, ebx
call fcn.00567420
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
push edx
push eax
push esi
push ecx
mov ecx, ebx
call fcn.005673f0
inc esi
cmp esi, edi
jle 0x566c4b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jle 0x566c28
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00562a20
mov ecx, esi
call fcn.00562a10
mov esi, eax
mov ecx, esi
call fcn.0055c800
mov edi, 1
mov ecx, esi
sub edi, eax
call fcn.00562590
add edi, eax
mov ecx, esi
push edi
call fcn.0052fdc0
fstp qword [esp + 0x24]
mov ecx, esi
call fcn.0055c800
push eax
mov ecx, esi
call fcn.0052fdc0
fstp qword [esp + 0xc]
fld qword [esp + 0x24]
fsub qword [esp + 0xc]
mov eax, dword [ebx + 0x184]
mov edi, 1
cmp eax, edi
fstp qword [esp + 0x44]
jl 0x566dc3
fld qword [esp + 0xc]
fcomp qword [0x5ae590]
fnstsw ax
test ah, 0x40
je 0x566d8e
fld qword [esp + 0x24]
fcomp qword [0x5ae748]
fnstsw ax
test ah, 0x40
je 0x566d8e
push edi
mov ecx, esi
call fcn.0052fdc0
jmp 0x566d9e
push edi
mov ecx, esi
call fcn.0052fdc0
fsub qword [esp + 0xc]
fdiv qword [esp + 0x44]
fstp qword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
push edx
push eax
push edi
mov ecx, ebx
call fcn.00567390
mov eax, dword [ebx + 0x184]
inc edi
cmp edi, eax
jle 0x566d62
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.00562a20
mov ecx, esi
call fcn.00562a10
mov esi, eax
mov ecx, esi
call fcn.0055c800
mov edi, 1
mov ecx, esi
mov ebx, edi
sub ebx, eax
call fcn.00562590
add ebx, eax
mov ecx, esi
push ebx
call fcn.0052fdc0
fstp qword [esp + 0x24]
mov ecx, esi
call fcn.0055c800
push eax
mov ecx, esi
call fcn.0052fdc0
fstp qword [esp + 0xc]
fld qword [esp + 0x24]
mov ecx, dword [esp + 0x18]
fsub qword [esp + 0xc]
cmp dword [ecx + 0x180], edi
fstp qword [esp + 0x44]
jl 0x566e88
fld qword [esp + 0xc]
fcomp qword [0x5ae590]
fnstsw ax
test ah, 0x40
je 0x566e53
fld qword [esp + 0x24]
fcomp qword [0x5ae748]
fnstsw ax
test ah, 0x40
je 0x566e53
push edi
mov ecx, esi
call fcn.0052fdc0
jmp 0x566e63
push edi
mov ecx, esi
call fcn.0052fdc0
fsub qword [esp + 0xc]
fdiv qword [esp + 0x44]
fstp qword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
push edx
push eax
push edi
mov ecx, ebx
call fcn.00567330
mov eax, dword [ebx + 0x180]
inc edi
cmp edi, eax
jle 0x566e27
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00562a20
mov eax, dword [esp + 0x40]
cmp eax, 1
jl 0x566eb4
mov edi, eax
mov ecx, esi
call fcn.00589b80
test eax, eax
je 0x566eb1
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
dec edi
jne 0x566e9e
test esi, esi
je 0x566ec0
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov ebx, dword [esp + 0x30]
mov ecx, ebx
call fcn.00562a20
mov eax, dword [esp + 0x20]
cmp eax, 1
jl 0x566eec
mov esi, eax
mov ecx, ebx
call fcn.00589b80
test eax, eax
je 0x566ee9
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
dec esi
jne 0x566ed6
test ebx, ebx
je 0x566ef8
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
lea ecx, [esp + 0x50]
call fcn.00442d70
mov ecx, dword [esp + 0x78]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.00562a20
mov ecx, ebx
call fcn.00562a10
mov ecx, eax
call fcn.00567310
cmp eax, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], 1
jl 0x5670e3
push 0x1c
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x80], 8
je 0x566f62
push 0
mov ecx, eax
call fcn.00443110
jmp 0x566f64
xor eax, eax
mov ecx, eax
mov byte [esp + 0x80], 2
mov dword [0x60a574], eax
call fcn.0053b750
mov edi, dword [0x60a574]
mov ecx, ebx
call fcn.00562a20
mov ecx, ebx
call fcn.00562a10
push 0x28
mov dword [esp + 0x10], eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x80], 9
je 0x566fb5
mov ecx, eax
call fcn.00442a20
mov esi, eax
jmp 0x566fb7
xor esi, esi
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x80], 2
push ecx
mov ecx, dword [esp + 0x10]
call fcn.00534f90
push eax
mov ecx, esi
call fcn.00442f90
push esi
mov ecx, edi
call fcn.00586a40
mov eax, dword [esp + 0x20]
cmp eax, 2
jl 0x567055
dec eax
mov dword [esp + 0x30], eax
mov ecx, ebx
call fcn.00589c30
mov ecx, ebx
call fcn.00562a10
push 0x28
mov dword [esp + 0x10], eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov byte [esp + 0x80], 0xa
je 0x567022
mov ecx, eax
call fcn.00442a20
mov esi, eax
jmp 0x567024
xor esi, esi
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
push edx
mov byte [esp + 0x84], 2
call fcn.00534f90
push eax
mov ecx, esi
call fcn.00442f90
push esi
mov ecx, edi
call fcn.00586a40
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x30], eax
jne 0x566feb
push 0x168
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x80], 0xb
je 0x56707d
mov ecx, eax
call fcn.005315b0
mov esi, eax
jmp 0x56707f
xor esi, esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push 0x3ff00000
push 0
push 0
push 0
push 0
push 0
push eax
push ecx
push edi
mov ecx, esi
mov byte [esp + 0xa4], 2
call fcn.00531f10
mov ecx, dword [esp + 0x14]
push esi
call fcn.00589ae0
test edi, edi
je 0x5670ce
mov ecx, edi
call fcn.0053b760
mov ecx, edi
call fcn.0053b770
test eax, eax
jne 0x5670ce
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jle 0x566f3d
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x5670f8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
call fcn.005625a0
mov ecx, ebx
call fcn.00562a20
mov ecx, ebx
call fcn.00562a10
mov ecx, eax
call fcn.00567310
mov esi, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov ecx, esi
call fcn.00562a20
mov ecx, esi
call fcn.00562a10
mov ecx, eax
call fcn.00567310
mov esi, dword [esp + 0x18]
mov edi, eax
mov ecx, esi
call fcn.00562d30
mov eax, dword [esp + 0x34]
push 0
lea ecx, [edi + 4]
push 0
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax]
push edx
push 4
push eax
push edi
push ecx
mov ecx, esi
call fcn.005653a0
mov ecx, dword [esp + 0x14]
call fcn.00562a20
mov ecx, dword [esp + 0x14]
call fcn.00562a10
cmp edi, 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], 1
jl 0x5671b2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
push eax
call fcn.00534f90
push eax
lea ecx, [esp + 0x54]
call fcn.00442f90
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x50]
push ecx
push edx
push 1
mov ecx, esi
call fcn.00567420
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, edi
mov dword [esp + 0x1c], eax
jle 0x56717a
mov ecx, dword [esp + 0x24]
mov eax, 2
cmp ecx, eax
mov dword [esp + 0x1c], eax
jl 0x567224
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00589c30
mov ecx, esi
call fcn.00562a10
mov esi, 1
mov dword [esp + 0xc], eax
cmp edi, esi
jl 0x56720f
mov ecx, dword [esp + 0xc]
push esi
call fcn.00534f90
push eax
lea ecx, [esp + 0x54]
call fcn.00442f90
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x50]
push eax
push esi
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00567420
inc esi
cmp esi, edi
jle 0x5671e2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jle 0x5671c3
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.00562a20
mov ecx, edi
call fcn.00562a10
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x184]
mov edi, 1
cmp eax, edi
jl 0x56726c
mov ecx, dword [esp + 0xc]
push edi
call fcn.0052fdc0
sub esp, 8
mov ecx, esi
fstp qword [esp]
push edi
call fcn.00567390
mov eax, dword [esi + 0x184]
inc edi
cmp edi, eax
jle 0x567249
mov ecx, ebx
call fcn.00562a20
mov ecx, ebx
call fcn.00562a10
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x180]
mov edi, 1
cmp eax, edi
jl 0x5672b0
mov ecx, dword [esp + 0xc]
push edi
call fcn.0052fdc0
sub esp, 8
mov ecx, esi
fstp qword [esp]
push edi
call fcn.00567330
mov eax, dword [esi + 0x180]
inc edi
cmp edi, eax
jle 0x56728d
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00562a20
mov eax, dword [esp + 0x40]
cmp eax, 1
jl 0x5672dc
mov edi, eax
mov ecx, esi
call fcn.00589b80
test eax, eax
je 0x5672d9
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
dec edi
jne 0x5672c6
test esi, esi
je 0x566ec4
mov ecx, dword [esp + 0x14]
push 1
mov eax, dword [ecx]
call dword [eax]
jmp 0x566ec4