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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x744db7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x168
push ebx
push esi
mov ebx, ecx
mov ecx, dword [0x912e94]
push edi
mov edi, dword [ecx + 0x1c]
xor esi, esi
cmp edi, esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0xb4], edi
jne 0x5666f2
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov ecx, dword [esp + 0x174]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi + 0xf4]
push eax
call fcn.004668b0
cmp eax, esi
je 0x566884
lea ecx, [eax - 0x18]
cmp ecx, esi
je 0x566884
mov edx, dword [ecx]
call dword [edx + 0x54]
cmp eax, esi
mov dword [esp + 0x1c], eax
je 0x566888
mov ecx, ebx
call fcn.00559ea0
test eax, eax
je 0x566888
push esi
mov eax, 0x186a0
push esi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
push esi
lea eax, [esp + 0x9c]
push eax
push edi
lea ecx, [esp + 0x12c]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
call fcn.00616990
mov dword [esp + 0x17c], esi
mov dword [esp + 0x154], 1
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], vtable.CBDList_unsigned_long_int_.0
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xb0], esi
lea ecx, [esp + 0x118]
mov byte [esp + 0x17c], 1
call fcn.00614dc0
cmp eax, esi
je 0x5667fc
jmp 0x5667c0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, esi
je 0x5667ec
cmp dword [eax + 0xd8], esi
jne 0x5667ec
cmp word [eax + 0x9e], si
jne 0x5667ec
mov eax, dword [eax + 0x1c]
push eax
lea ecx, [esp + 0xa4]
call fcn.004bb960
lea ecx, [esp + 0x118]
call fcn.00614dc0
cmp eax, esi
jne 0x5667c0
push 0x7c1f14
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00605ee0
mov dword [esp + 0x34], esi
jmp 0x566820
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x9c]
add ecx, 0x9c
call dword [edx + 0x2c]
cmp eax, esi
mov dword [esp + 0x30], eax
je 0x566e30
nop
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x9c]
add ecx, 0x9c
lea edx, [esp + 0x30]
push edx
call dword [eax + 0x34]
mov ecx, dword [eax]
cmp ecx, esi
mov dword [esp + 0x14], eax
je 0x566e26
cmp word [ecx + 6], si
je 0x566e26
cmp byte [ecx + 4], 2
jne 0x56695e
mov eax, 3
jmp 0x566976
mov dword [esp + 0x1c], esi
mov ecx, dword [0x912e94]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov eax, dword [edi + 0x50]
cdq
sub eax, edx
mov edx, dword [ebx + 0xb4]
sar eax, 1
push edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
call fcn.004668b0
cmp eax, esi
je 0x566e86
lea ecx, [eax - 0x18]
cmp ecx, esi
je 0x566e86
mov eax, dword [ecx]
call dword [eax + 0x28]
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x566e8a
cmp dword [eax + 0xac], esi
je 0x56690f
cmp dword [eax + 0x44], 1
jge 0x56690f
mov ecx, ebx
call fcn.00559c80
test eax, eax
je 0x56690f
cmp dword [esp + 0x1c], esi
jne 0x56690f
mov dword [esp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x40]
cmp eax, 0xc
je 0x566924
cmp eax, 0xa
jne 0x566f8b
mov ecx, ebx
mov dword [esp + 0x18], 1
call fcn.00559c80
test eax, eax
mov dword [ebx + 0xc0], esi
je 0x566f5d
mov dword [ebx + 0xc4], 0xffffff9c
mov eax, dword [edi + 0x50]
lea ecx, [eax - 0x64]
mov dword [esp + 0x20], 1
jmp 0x566f7e
call fcn.0068d2d0
test al, 8
je 0x56696e
mov eax, 2
jmp 0x566976
shr eax, 9
not eax
and eax, 1
cmp eax, dword [esp + 0x34]
jne 0x566e26
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, esi
jne 0x566e26
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x44], eax
push 0x190
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x2c]
push eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
call fcn.0055f2c0
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
call fcn.0068d2d0
test al, 8
jne 0x566ba3
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + 0x50]
lea ecx, [ebx + 0x50]
call dword [edx + 0x2c]
mov dword [esp + 0x18], eax
jmp 0x566a00
mov edi, 2
mov eax, dword [ebx]
lea ecx, [esp + 0x88]
push ecx
mov ecx, ebx
call dword [eax + 0x148]
mov ecx, dword [esp + 0xb4]
push esi
push 0x40
push edi
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0xcc]
push eax
call fcn.00611d80
mov eax, dword [esp + 0xbc]
cmp eax, esi
mov ecx, dword [esp + 0xc0]
jne 0x566a5b
cmp ecx, esi
jne 0x566a5b
sub edi, 1
cmp di, 1
jge 0x566a05
jmp 0x566b39
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xec], ecx
movsx edx, di
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xf4], edx
push 0x190
lea edx, [esp + 0xf0]
push edx
mov dword [esp + 0x94], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x10c], esi
mov dword [esp + 0x108], esi
mov dword [esp + 0x104], esi
mov dword [esp + 0x100], esi
call fcn.0055f2c0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
mov edx, dword [esp + 0x104]
jl 0x566ae4
jne 0x566b39
cmp edx, dword [esp + 0x5c]
jge 0x566b39
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ecx
cmp dword [esp + 0x18], esi
je 0x566ba3
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x50]
add ecx, 0x50
lea eax, [esp + 0x18]
push eax
call dword [edx + 0x34]
mov edx, dword [eax]
mov eax, edx
shr eax, 0x18
sub eax, esi
je 0x566b82
sub eax, 1
je 0x566b74
sub eax, 1
jne 0x566ba3
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e4]
jmp 0x566b8e
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e0]
jmp 0x566b8e
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2dc]
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
cmp eax, esi
je 0x566ba3
lea ebx, [eax - 0x18]
cmp ebx, esi
jne 0x566a00
mov ebx, dword [esp + 0xa8]
cmp ebx, esi
mov dword [esp + 0x20], esi
je 0x566dff
mov eax, ebx
mov edx, dword [eax]
mov eax, edx
shr eax, 0x18
sub eax, esi
mov dword [esp + 0x10], ebx
mov ebx, dword [ebx + 4]
je 0x566bf4
sub eax, 1
je 0x566be6
sub eax, 1
jne 0x566d19
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e4]
jmp 0x566c00
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e0]
jmp 0x566c00
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2dc]
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
cmp eax, esi
je 0x566d19
lea ecx, [eax - 0x18]
cmp ecx, esi
je 0x566d19
mov edx, dword [ecx]
call dword [edx + 0x20]
cmp eax, esi
je 0x566d19
mov edx, dword [eax]
lea ecx, [esp + 0x90]
push ecx
mov ecx, eax
call dword [edx + 0x14c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 8]
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x6c], ecx
push 0x190
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], edx
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
call fcn.0055f2c0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
mov edi, dword [esp + 0x80]
jl 0x566cce
jne 0x566d19
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x3c]
cmp edx, esi
mov ecx, dword [esp + 0x5c]
jne 0x566cbd
cmp edi, ecx
jl 0x566cce
cmp edx, esi
je 0x566d19
sub ecx, dword [esp + 0x60]
mov edx, edi
sub edx, dword [esp + 0x84]
cmp edx, ecx
jle 0x566d19
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edx
mov dword [esp + 0x20], eax
cmp ebx, esi
jne 0x566bb6
cmp dword [esp + 0x20], esi
je 0x566dff
mov edi, dword [esp + 0x20]
mov edx, dword [edi]
mov eax, edx
shr eax, 0x18
sub eax, esi
je 0x566d60
sub eax, 1
je 0x566d52
sub eax, 1
jne 0x566d88
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e4]
jmp 0x566d6c
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e0]
jmp 0x566d6c
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2dc]
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
cmp eax, esi
je 0x566d88
add eax, 0xffffffe8
cmp eax, esi
je 0x566d88
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov ebx, eax
jmp 0x566d8a
xor ebx, ebx
cmp dword [esp + 0xa8], edi
jne 0x566da6
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
call dword [eax + 0x24]
jmp 0x566df6
cmp edi, dword [esp + 0xac]
jne 0x566dc2
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
call dword [edx + 0x28]
jmp 0x566df6
mov eax, dword [edi + 8]
cmp eax, esi
je 0x566dcf
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov eax, dword [edi + 4]
cmp eax, esi
je 0x566ddc
mov edx, dword [edi + 8]
mov dword [eax + 8], edx
mov eax, dword [esp + 0xa0]
push edi
lea ecx, [esp + 0xa4]
call dword [eax + 0x64]
sub dword [esp + 0xa4], 1
push ebx
call fcn.00600b30
add esp, 4
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [edi]
call fcn.0069ac60
cmp eax, esi
je 0x566e26
mov ecx, dword [edi]
add eax, 0x98
cmp ecx, esi
mov dword [edi], eax
je 0x566e26
mov edx, dword [ecx]
push 1
call dword [edx]
cmp dword [esp + 0x30], esi
jne 0x566840
mov eax, dword [esp + 0x34]
add eax, 1
cmp eax, 3
mov dword [esp + 0x34], eax
jle 0x566820
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov dword [esp + 0xa0], vtable.CBDList_unsigned_long_int_.0
lea ecx, [esp + 0xa0]
mov byte [esp + 0x17c], 2
call fcn.00548f00
mov dword [esp + 0xa0], vtable.CBList_unsigned_long_int_.0
jmp 0x5679f9
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 0x50]
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp ecx, esi
mov dword [esp + 0x1c], eax
jne 0x5675ab
cmp dword [esp + 0x2c], esi
jne 0x5675ab
mov ecx, dword [ebx + 0xc0]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov edx, dword [ebx + 0xc4]
mov dword [esp + 0x18], esp
mov dword [eax + 4], edx
sub esp, 8
mov eax, esp
mov dword [esp + 0x20], esp
mov dword [eax], esi
mov dword [eax + 4], esi
call fcn.005de4c0
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
or ah, 0xc
add esp, 0x10
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, esi
fldcw word [esp + 0x30]
mov dword [esp + 0x30], eax
je 0x567597
mov eax, dword [ebx + 0xc4]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc0]
imul eax, edx
imul ecx, edx
cdq
idiv dword [esp + 0x30]
mov ebx, eax
mov eax, ecx
cdq
idiv dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x88]
sub ecx, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xc0], ecx
sub edx, eax
mov dword [esp + 0xbc], edx
lea eax, [esp + 0xbc]
jmp 0x56759e
mov dword [ebx + 0xc4], 0x64
mov eax, dword [edi + 0x50]
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov eax, dword [edi + 0x50]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x40]
cmp eax, 6
je 0x566fa0
cmp eax, 7
jne 0x5674d1
mov edx, dword [0x912e94]
cmp dword [edx + 0xc], esi
je 0x566fc0
mov eax, dword [ecx + 0xac]
xor ecx, ecx
cmp eax, dword [ebx + 0xbc]
sete cl
mov eax, ecx
jmp 0x566fc7
mov ecx, ebx
call fcn.00559c80
cmp eax, esi
je 0x5674d1
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x88]
push esi
push esi
push esi
lea ecx, [esp + 0xac]
push ecx
mov dword [esp + 0x3c], eax
mov eax, 0x186a0
push edi
lea ecx, [esp + 0x12c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
call fcn.00616990
mov dword [esp + 0x17c], 3
mov dword [esp + 0x154], 2
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], vtable.CBDList_unsigned_long_int_.0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], esi
lea ecx, [esp + 0x118]
mov byte [esp + 0x17c], 4
call fcn.00614dc0
cmp eax, esi
je 0x56709f
push esi
push 0x85f748
push 0x85da04
push esi
push eax
call fcn.0071f44c
add esp, 0x14
cmp eax, esi
je 0x56708f
cmp dword [eax + 0x90], esi
jne 0x56708f
mov edx, dword [eax + 0x1c]
push edx
lea ecx, [esp + 0x44]
call fcn.004bb960
lea ecx, [esp + 0x118]
call fcn.00614dc0
cmp eax, esi
jne 0x567061
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], vtable.CBSList_unsigned_long_int_.0
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], esi
mov eax, dword [ebx + 0x9c]
lea ecx, [ebx + 0x9c]
mov byte [esp + 0x17c], 5
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], ecx
call dword [eax + 0x2c]
cmp eax, esi
mov dword [esp + 0x24], eax
je 0x567325
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov edi, eax
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x1c], edi
call dword [edx + 0x34]
mov dword [esp + 0x20], eax
mov eax, dword [eax]
cmp eax, esi
je 0x567319
cmp word [eax + 6], si
je 0x567319
mov cl, byte [eax + 4]
push ecx
call fcn.0056c110
add esp, 4
test eax, eax
jne 0x567131
push edi
lea ecx, [esp + 0x68]
call fcn.005e1ab0
jmp 0x567319
mov ebx, dword [esp + 0x48]
cmp ebx, esi
mov dword [esp + 0x14], esi
je 0x567239
mov eax, ebx
mov edx, dword [eax]
mov eax, edx
shr eax, 0x18
sub eax, esi
mov dword [esp + 0x10], ebx
mov ebx, dword [ebx + 4]
je 0x56717a
sub eax, 1
je 0x56716c
sub eax, 1
jne 0x567195
mov eax, dword [0x912e94]
mov ecx, dword [eax + 0x2e4]
jmp 0x567186
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e0]
jmp 0x567186
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2dc]
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
cmp eax, esi
je 0x567195
add eax, 0xffffffe8
jmp 0x567197
xor eax, eax
push esi
push 0x85f748
push 0x85da04
push esi
push eax
call fcn.0071f44c
mov edi, eax
add esp, 0x14
cmp edi, esi
je 0x56722b
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
cmp byte [edx + 4], 2
jne 0x5671de
mov ecx, edi
call fcn.005e96f0
mov eax, dword [eax + 0xc]
push str.tent_noble
push eax
call fcn.0071f59b
add esp, 8
test eax, eax
jne 0x56722b
push 0x7c1f14
lea eax, [esp + 0xc0]
push eax
mov ecx, edi
call fcn.00605ee0
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
sub ecx, edx
sub eax, edi
mov edx, ecx
imul eax, eax
imul edx, ecx
add eax, edx
cmp dword [esp + 0x14], esi
je 0x56721c
cmp dword [esp + 0xb4], eax
jl 0x56722b
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xb4], eax
cmp ebx, esi
jne 0x567141
cmp dword [esp + 0x14], esi
jne 0x56724c
mov edx, dword [esp + 0x18]
push edx
lea ecx, [esp + 0x68]
call fcn.005e1ab0
jmp 0x567319
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push ecx
mov ecx, dword [0x912e94]
call fcn.004668b0
cmp eax, esi
je 0x567267
add eax, 0xffffffe8
jmp 0x567269
xor eax, eax
push eax
call fcn.0052a7e0
add esp, 4
cmp eax, esi
mov dword [esp + 0x1c], eax
jne 0x56728d
mov edx, dword [esp + 0x18]
push edx
lea ecx, [esp + 0x68]
call fcn.005e1ab0
jmp 0x567319
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x44]
call fcn.00485430
push 0x7c1f14
lea ecx, [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00605ee0
mov edi, dword [eax]
mov dword [esp + 0x90], edi
mov ebx, dword [eax + 4]
lea ecx, [esp + 0x38]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], esi
call fcn.004fb210
test al, al
je 0x5672e0
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebx]
lea edx, [esp + 0x90]
push edx
call fcn.0069ac60
mov edi, eax
cmp edi, esi
je 0x567319
mov ecx, dword [ebx]
cmp ecx, esi
lea eax, [edi + 0x98]
mov dword [ebx], eax
je 0x56730d
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esp + 0x1c]
push eax
mov ecx, edi
call fcn.00699e30
mov eax, dword [esp + 0x24]
cmp eax, esi
jne 0x5670e6
mov eax, dword [esp + 0x6c]
cmp eax, esi
je 0x5674a0
mov ecx, dword [esp + 0x30]
mov eax, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
cmp eax, esi
je 0x56736b
mov ecx, eax
mov eax, dword [eax + 4]
cmp eax, esi
mov dword [esp + 0x6c], eax
jne 0x56735a
mov dword [esp + 0x70], esi
mov edx, dword [esp + 0x64]
push ecx
lea ecx, [esp + 0x68]
call dword [edx + 0x64]
sub dword [esp + 0x68], 1
mov eax, dword [esp + 0x48]
cmp eax, esi
je 0x5673c5
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x110]
push ecx
call fcn.004693c0
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x50]
add esp, 8
cmp eax, esi
je 0x5673e6
mov ecx, dword [eax + 4]
cmp ecx, esi
mov edx, eax
je 0x5673a3
mov dword [ecx + 8], esi
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
cmp eax, esi
mov dword [esp + 0x48], eax
jne 0x5673b2
mov dword [esp + 0x4c], esi
push edx
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x44]
call dword [edx + 0x64]
sub dword [esp + 0x44], 1
jmp 0x5673e6
cmp dword [esp + 0x38], esi
jne 0x5673de
cmp dword [esp + 0x3c], esi
jne 0x5673de
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x34]
jmp 0x5673e6
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
movzx eax, byte [ecx + 4]
lea edx, [eax + eax*4]
add edx, edx
add edx, edx
sub edx, eax
mov eax, dword [0x914298]
shl edx, 4
lea ecx, [edx + eax + 0x38]
call fcn.005d1510
push esi
sub esp, 8
mov ecx, esp
mov dword [esp + 0x1c], esp
mov dword [ecx], edi
mov dword [ecx + 4], ebx
push eax
lea ecx, [esp + 0xc4]
push ecx
call fcn.00695a80
mov eax, dword [esp + 0xc8]
add esp, 0x14
cmp eax, esi
jne 0x56744e
cmp dword [esp + 0xb8], esi
jne 0x56744e
mov eax, edi
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebx
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0x18]
mov ecx, dword [edi]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
push eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], esi
call fcn.0069ac60
cmp eax, esi
je 0x567494
mov ecx, dword [edi]
add eax, 0x98
cmp ecx, esi
mov dword [edi], eax
je 0x567494
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esp + 0x6c]
cmp eax, esi
jne 0x567331
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [edi + 4], ecx
lea ecx, [esp + 0x64]
mov dword [edi], eax
mov dword [edi + 8], esi
mov byte [esp + 0x17c], 4
call fcn.00467550
mov byte [esp + 0x17c], 3
jmp 0x5679f0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xac]
mov ecx, dword [0x912e94]
push eax
call fcn.004668b0
cmp eax, esi
je 0x566e8a
lea ecx, [eax - 0x18]
cmp ecx, esi
je 0x566e8a
mov edx, dword [ecx]
call dword [edx + 0x38]
cmp eax, esi
je 0x566e8a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x284]
test eax, eax
je 0x566e8a
mov ecx, ebx
call fcn.00559c80
test eax, eax
mov dword [ebx + 0xc4], esi
je 0x567560
mov dword [ebx + 0xc0], 0xffffff9c
mov ecx, dword [edi + 0x50]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, ecx
cdq
and edx, 3
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0x10]
sar ecx, 2
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
jmp 0x566e8e
mov dword [ebx + 0xc0], 0x64
mov ecx, dword [edi + 0x50]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
lea eax, [ecx + ecx*2]
cdq
and edx, 3
add eax, edx
mov edx, dword [esp + 0x10]
mov ecx, eax
sar ecx, 2
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp 0x566e8e
lea eax, [esp + 0x88]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x20]
push eax
push esi
push esi
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x11c]
push edx
mov ecx, edi
call fcn.00611d80
cmp dword [esp + 0x18], esi
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x2c], edx
je 0x567a55
push esi
mov eax, 0x186a0
push esi
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
push esi
lea eax, [esp + 0xac]
push eax
push edi
lea ecx, [esp + 0x12c]
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
call fcn.00616990
mov dword [esp + 0x17c], 6
mov dword [esp + 0x154], 1
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], vtable.CBDList_unsigned_long_int_.0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], esi
lea ecx, [esp + 0x118]
mov byte [esp + 0x17c], 7
call fcn.00614dc0
cmp eax, esi
je 0x5676ea
mov ebx, dword [esp + 0x20]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x5676d6
cmp dword [eax + 0xd8], esi
jne 0x5676d6
cmp word [eax + 0x9e], si
jne 0x5676d6
cmp ebx, esi
je 0x56768e
cmp word [eax + 0x64], si
jne 0x5676d6
mov edx, dword [eax]
mov ebx, dword [edi]
sub esp, 8
mov ecx, esp
mov dword [esp + 0xbc], esp
push ecx
mov ecx, eax
call dword [edx + 0x148]
mov ecx, edi
call dword [ebx + 0xa4]
mov ebx, dword [esp + 0x20]
neg eax
sbb eax, eax
xor edx, edx
add eax, 1
cmp ebx, esi
sete dl
cmp edx, eax
jne 0x5676d6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
lea ecx, [esp + 0x44]
call fcn.004bb960
lea ecx, [esp + 0x118]
call fcn.00614dc0
cmp eax, esi
jne 0x567664
cmp dword [esp + 0x48], esi
je 0x567a29
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x9c]
add ecx, 0x9c
call dword [edx + 0x2c]
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x5679d5
jmp 0x567720
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x9c]
add ecx, 0x9c
lea edx, [esp + 0x14]
push edx
call dword [eax + 0x34]
mov ebx, eax
mov ecx, dword [ebx]
cmp ecx, esi
mov dword [esp + 0x20], ebx
je 0x5679cb
cmp word [ecx + 6], si
je 0x5679cb
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, esi
jne 0x5679cb
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x90]
mov dword [esp + 0x90], ecx
push eax
lea ecx, [esp + 0xec]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], esi
call fcn.005593e0
mov edi, dword [esp + 0x48]
cmp edi, esi
mov dword [esp + 0xf4], 0x64
mov dword [esp + 0x18], esi
je 0x56795a
jmp 0x5677b0
mov eax, edi
mov edx, dword [eax]
mov eax, edx
shr eax, 0x18
sub eax, esi
mov ebx, edi
mov edi, dword [edi + 4]
je 0x5677ec
sub eax, 1
je 0x5677de
sub eax, 1
jne 0x56790d
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e4]
jmp 0x5677f8
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2e0]
jmp 0x5677f8
mov ecx, dword [0x912e94]
mov ecx, dword [ecx + 0x2dc]
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
cmp eax, esi
je 0x56790d
lea ecx, [eax - 0x18]
cmp ecx, esi
je 0x56790d
mov edx, dword [ecx]
call dword [edx + 0x20]
cmp eax, esi
je 0x56790d
mov edx, dword [eax]
lea ecx, [esp + 0x10c]
push ecx
mov ecx, eax
call dword [edx + 0x14c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 8]
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x6c], ecx
push 0x190
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], edx
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
call fcn.0055f2c0
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x68]
push eax
call fcn.0055a690
add esp, 8
cmp eax, esi
je 0x56790d
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], eax
mov dword [esp + 0x18], ebx
cmp edi, esi
jne 0x5677b0
cmp dword [esp + 0x18], esi
je 0x567956
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx]
push ecx
mov ecx, dword [0x912e94]
call fcn.004668b0
cmp eax, esi
je 0x567941
lea ecx, [eax - 0x18]
cmp ecx, esi
je 0x567941
mov edx, dword [ecx]
call dword [edx + 0x20]
mov edi, eax
jmp 0x567943
xor edi, edi
push ebx
lea ecx, [esp + 0x44]
call fcn.00485430
push edi
call fcn.00600b30
add esp, 4
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebx]
lea eax, [esp + 0xe8]
push eax
call fcn.0069ac60
mov edi, eax
cmp edi, esi
je 0x5679cb
mov ecx, dword [ebx]
cmp ecx, esi
lea edx, [edi + 0x98]
mov dword [ebx], edx
je 0x567983
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
sub esp, 8
mov eax, esp
mov dword [esp + 0x18], esp
sub esp, 8
mov dword [eax], ecx
mov ecx, esp
mov dword [esp + 0x20], esp
mov dword [eax + 4], edx
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x148]
call fcn.005de370
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov edx, dword [edi]
add esp, 0x10
push eax
mov ecx, edi
call dword [edx + 0x1c0]
cmp dword [esp + 0x14], esi
jne 0x567720
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [edi + 8], esi
mov byte [esp + 0x17c], 6
lea ecx, [esp + 0x40]
call fcn.004674b0
lea ecx, [esp + 0x118]
mov dword [esp + 0x17c], 0xffffffff
call fcn.00611840
mov eax, edi
mov ecx, dword [esp + 0x174]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x40]
mov byte [esp + 0x17c], 6
call fcn.004674b0
lea ecx, [esp + 0x118]
mov dword [esp + 0x17c], 0xffffffff
call fcn.00611840
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x567c8e
cmp dword [eax + 0x40], esi
jne 0x567c8e
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1b4]
mov edx, dword [esp + 0x14]
xor ecx, ecx
cmp ax, word [edx + 0x80]
push esi
setne cl
mov eax, 0x186a0
push esi
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
push esi
lea eax, [esp + 0xac]
add ecx, 1
push eax
mov dword [esp + 0x20], ecx
push edi
lea ecx, [esp + 0x12c]
mov dword [esp + 0x28], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
call fcn.00616990
lea ecx, [esp + 0x118]
mov dword [esp + 0x17c], 8
mov dword [esp + 0x154], 1
call fcn.00614dc0
cmp eax, esi
je 0x567b4d
mov edi, edi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, esi
mov dword [esp + 0x20], eax
je 0x567b3d
cmp dword [eax + 0xd8], esi
jne 0x567b3d
cmp word [eax + 0x9e], si
jne 0x567b3d
mov ecx, eax
mov eax, dword [ecx]
call dword [eax + 0xe0]
cmp ax, word [esp + 0x10]
jne 0x567b3d
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x567b35
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x20]
cmp ecx, dword [edx + 0x1c]
jb 0x567b3d
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x118]
call fcn.00614dc0
cmp eax, esi
jne 0x567af0
lea ecx, [esp + 0x118]
mov dword [esp + 0x17c], 0xffffffff
call fcn.00611840
cmp dword [esp + 0x14], esi
je 0x567c8e
mov edi, dword [esp + 0x14]
mov edx, dword [edi]
lea eax, [esp + 0x10c]
push eax
mov ecx, edi
call dword [edx + 0x148]
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
mov edx, dword [eax + 4]
push edi
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], esi
call fcn.00600b30
mov eax, dword [ebx + 0x9c]
lea ecx, [ebx + 0x9c]
add esp, 4
call dword [eax + 0x2c]
cmp eax, esi
mov dword [esp + 0x18], eax
je 0x567c06
mov edi, edi
mov edx, dword [ebx + 0x9c]
lea ecx, [ebx + 0x9c]
lea eax, [esp + 0x18]
push eax
call dword [edx + 0x34]
mov edi, eax
mov ecx, dword [edi]
cmp ecx, esi
je 0x567c00
lea edx, [esp + 0x90]
push edx
call fcn.0069ac60
cmp eax, esi
je 0x567c00
mov ecx, dword [edi]
add eax, 0x98
cmp ecx, esi
mov dword [edi], eax
je 0x567c00
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [esp + 0x18], esi
jne 0x567bc0
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x18], esp
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x20], esp
mov dword [eax + 4], edx
call fcn.005de370
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xa0]
add esp, 0x10
push eax
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov edx, dword [esp + 0xa0]
mov ecx, ebx
mov dword [esp + 0x1c], esp
mov dword [eax + 4], edx
call fcn.0055a910
mov ecx, dword [esp + 0x90]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x94]
mov dword [eax], ecx
mov ecx, dword [esp + 0x98]
jmp 0x568158
push esi
push esi
push esi
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x11c]
push eax
mov ecx, edi
call fcn.00611d80
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xc4], ecx
lea ecx, [esp + 0x28]
push ecx
push 0x7d0
lea edx, [esp + 0xcc]
push edx
mov ecx, ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xdc], esi
call fcn.0055f2c0
lea eax, [esp + 0xc4]
push eax
call fcn.0055f6c0
add esp, 4
cmp dword [esp + 0xd0], esi
je 0x568078
mov eax, dword [esp + 0x1c]
mov ecx, eax
sub eax, 0x1f4
add ecx, 0x7d0
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xb4], ecx
jg 0x568078
mov ecx, eax
neg eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
nop
mov eax, dword [edi + 0x50]
cdq
sub eax, edx
sar eax, 1
sub eax, 0x3e8
cmp dword [esp + 0x1c], eax
jg 0x568078
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x1c]
jg 0x567ecc
mov ecx, dword [esp + 0x20]
mov edx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], edx
cmp ebx, esi
mov ecx, dword [esp + 0x30]
jl 0x567d8f
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
add eax, edx
add eax, ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x3c], eax
lea edx, [ebx + ecx]
lea eax, [esp + 0x38]
push eax
mov ecx, edi
mov dword [esp + 0x3c], edx
call fcn.00607d50
test eax, eax
je 0x567eb3
push esi
push 0x100
push esi
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x11c]
push edx
mov ecx, edi
call fcn.00611d80
mov ecx, dword [eax]
cmp ecx, esi
mov eax, dword [eax + 4]
jne 0x567ded
cmp eax, esi
je 0x567eb3
mov dword [esp + 0x44], eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x44], ecx
push 0x7d0
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
call fcn.0055f2c0
lea edx, [esp + 0x40]
push edx
call fcn.0055f6c0
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x48]
push ecx
call fcn.0055a690
add esp, 0xc
cmp eax, esi
je 0x567eb3
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
mov eax, 0x40
sub dword [esp + 0x18], eax
add dword [esp + 0x30], eax
add ebx, eax
cmp ebx, dword [esp + 0x1c]
jle 0x567d83
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x1c]
jg 0x56804b
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov eax, ebx
add edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
mov edi, edi
cmp ebx, esi
mov eax, dword [esp + 0x18]
jl 0x567efa
mov eax, ebx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
add eax, edx
mov dword [esp + 0xc0], eax
lea edx, [ebx + ecx]
lea eax, [esp + 0xbc]
push eax
mov ecx, edi
mov dword [esp + 0xc0], edx
call fcn.00607d50
test eax, eax
je 0x568039
push esi
push 0x100
push esi
lea ecx, [esp + 0xc8]
push ecx
lea edx, [esp + 0xa0]
push edx
mov ecx, edi
call fcn.00611d80
mov ecx, dword [eax]
cmp ecx, esi
mov eax, dword [eax + 4]
jne 0x567f5e
cmp eax, esi
je 0x568039
mov dword [esp + 0x68], eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x68], ecx
push 0x7d0
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
call fcn.0055f2c0
lea edx, [esp + 0x64]
push edx
call fcn.0055f6c0
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x6c]
push ecx
call fcn.0055a690
add esp, 0xc
cmp eax, esi
je 0x568039
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
sub dword [esp + 0x18], 0x40
add ebx, 0x40
cmp ebx, dword [esp + 0x1c]
jle 0x567ef0
cmp dword [esp + 0xd0], esi
je 0x568078
mov eax, dword [esp + 0x1c]
mov ecx, 0x64
sub dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add eax, ecx
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jle 0x567d50
mov ebx, dword [esp + 0x24]
mov edx, dword [ebx + 0x9c]
add ebx, 0x9c
mov ecx, ebx
call dword [edx + 0x2c]
cmp eax, esi
mov dword [esp + 0x1c], eax
je 0x5680d3
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebx
call dword [eax + 0x34]
mov edi, eax
mov ecx, dword [edi]
cmp ecx, esi
je 0x5680cd
lea edx, [esp + 0xc4]
push edx
call fcn.0069ac60
cmp eax, esi
je 0x5680cd
mov ecx, dword [edi]
add eax, 0x98
cmp ecx, esi
mov dword [edi], eax
je 0x5680cd
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [esp + 0x1c], esi
jne 0x568095
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x18], esp
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x20], esp
mov dword [eax + 4], edx
call fcn.005de370
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xd4]
add esp, 0x10
push eax
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], esp
mov dword [eax + 4], edx
call fcn.0055a910
mov ecx, dword [esp + 0xc4]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0xc8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
pop edi
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x170]
pop esi
mov dword [eax + 4], edx
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4