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

Disassembly:
sub esp, 0x64
push ebx
push ebp
push esi
push edi
xor eax, eax
mov dword [esp + 0x2c], 0
cmp dword [esp + 0x84], eax
mov ecx, 0x96
setne al
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
lea edx, [ecx + 1]
lea eax, [eax*8 + 0xc]
mov dword [esp + 0x20], 0x86
add eax, dword [esp + 0x80]
mov esi, dword [ebp]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x84]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x88]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0xc0]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc8]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xe0]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0xe4]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xf0]
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [ebp + 0x1c], eax
movzx eax, word [ebx]
mov dword [esp + 0x48], 0
cmp ax, cx
je 0x568923
cmp ax, dx
jne 0x56892a
mov dword [esp + 0x20], eax
add ebx, 2
mov eax, dword [ebp + 0xc]
mov ecx, ebx
sub ecx, dword [ebp + 8]
sar ecx, 1
mov edi, dword [eax + ecx*4]
lea eax, [esp + 0x1c]
push eax
push 0
push 0
push ebx
push ebp
mov dword [esp + 0x28], edi
call fcn.0057ee40
mov ecx, eax
add esp, 0x14
mov eax, dword [esp + 0x80]
mov edx, 0x80
mov dword [esp + 0x18], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edi
movzx eax, word [ebx]
mov dword [esp + 0x24], eax
cmp eax, 0x7e
je 0x56897b
cmp ax, dx
mov eax, dword [esp + 0x44]
jne 0x56897f
lea eax, [esp + 0x48]
mov dword [esp + 0x40], eax
mov edx, 0x97
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
cmp ax, dx
jne 0x5689f3
cmp dword [esi], 0
jne 0x5689be
push 0
push 0x8b
push 0
push 2
push 1
push esi
call fcn.0057b520
add esp, 0x18
test eax, eax
je 0x5689be
mov byte [eax], 0x8b
push 4
push 0x40
push 0
push 0xb
push 0
push 0xb
push 0x60
push dword [ebp]
call fcn.00587130
push 0
push 0x40
push 0
push 2
push 0
push esi
call fcn.005858e0
mov ecx, dword [esp + 0x50]
add esp, 0x38
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
mov edx, 0x86
test ecx, ecx
jns 0x568b1f
mov edi, 1
mov dword [esp + 0x10], edi
cmp ax, dx
jne 0x568a56
movzx edx, word [ebx + 4]
lea ecx, [ebx + 4]
lea eax, [edx - 4]
cmp eax, 0x75
ja case.0x568a27.6
nop dword [eax]
movzx eax, byte [eax + 0x5698b4]
jmp dword [eax*4 + 0x5698a4]
movzx eax, word [ecx + 6]
jmp 0x568a3b
movzx eax, byte [edx + 0x6a2a28]
movzx edx, word [ecx + eax*2]
lea ecx, [ecx + eax*2]
lea eax, [edx - 4]
cmp eax, 0x75
jbe 0x568a20
jmp case.0x568a27.6
xor edi, edi
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x1c], 0
je 0x568a62
inc edi
mov dword [esp + 0x10], edi
cmp ecx, 0xffffffff
jne 0x568a8f
cmp dword [esi], 0
jne 0x568a8f
mov eax, dword [esp + 0x14]
add eax, 0x20
push eax
push 0x8d
push 0
push 0xb
push 1
push esi
call fcn.0057b520
add esp, 0x18
test eax, eax
je 0x568a8f
mov byte [eax], 0x89
test edi, edi
je 0x568a9d
push edi
push ebp
call fcn.00566cb0
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x568acb
cmp dword [esi], 0
mov eax, dword [ebp + 0x44]
jne 0x568acb
add eax, 0x20
push eax
push 0x8d
push 0
push 1
push 1
push esi
call fcn.0057b520
add esp, 0x18
test eax, eax
je 0x568acb
mov byte [eax], 0x8b
test edi, edi
je 0x568ae5
push 0
push 2
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
cmp dword [esp + 0x1c], 0
je 0x568c29
push 0
push 0x40
push dword [ebp + 0x44]
push 0x8d
push 0x20
push esi
call fcn.00586ef0
push 0
push 1
push 4
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x30
jmp 0x568c29
xor eax, eax
cmp dword [esp + 0x1c], eax
setne al
add eax, 2
mov dword [esp + 0x10], eax
lea edi, [eax + ecx]
push edi
push ebp
call fcn.00566cb0
push dword [esp + 0x1c]
push 0x8d
push 0
push 1
push 0x20
push esi
call fcn.00586ef0
lea eax, [edi*4]
push eax
push 0x40
push 0
push 0xb
push 0
push 3
push 0x60
push esi
call fcn.00587130
add esp, 0x40
push 0
push 3
push dword [esp + 0x1c]
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
cmp dword [esp + 0x1c], 0
je 0x568ba1
push dword [ebp + 0x44]
push 0x8d
push 0
push 3
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
push 0
push 2
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
cmp dword [esp + 0x1c], 0
je 0x568bf4
push 0
push 1
push 8
push 0x8b
push 0x20
push esi
call fcn.00586ef0
push 0
push 3
push 4
push 0x8b
push 0x20
push esi
call fcn.00586ef0
mov ecx, dword [ebp + 0x44]
mov eax, 0x8d
add esp, 0x30
lea edx, [eax - 0x4d]
jmp 0x568c03
mov eax, 0x8b
mov ecx, 4
mov edx, 1
push 0
push edx
push ecx
push eax
push 0x20
push esi
call fcn.00586ef0
mov eax, dword [esp + 0x28]
push eax
lea eax, [edi - 1]
push eax
push 0
push ebx
push ebp
call fcn.0057fb40
mov edi, dword [esp + 0x3c]
add esp, 0x2c
cmp dword [esp + 0x84], 0
xorps xmm0, xmm0
mov eax, dword [esp + 0x24]
mov ecx, 0x81
movlpd qword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0
jne 0x568c58
cmp ax, 0x7f
je 0x568c58
cmp ax, cx
jne 0x568c7e
mov dword [esp + 0x2c], 1
mov dword [ebp + 0x84], 1
mov dword [ebp + 0xc0], 0
mov dword [ebp + 0xe0], 0
cmp ax, 0x7e
je 0x568c92
mov ecx, 0x80
cmp ax, cx
je 0x568c92
xor eax, eax
jmp 0x568c97
mov eax, 1
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0x88], eax
mov dword [ebp + 0xe4], 0
nop dword [eax + eax]
mov dword [ebp + 0xc8], 0
mov dword [ebp + 0xf0], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
cmp word [ebx], 0x78
jne 0x568cf8
test edi, edi
je 0x568cf8
push 0
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
mov ecx, dword [esp + 0x40]
add esp, 0x18
lea eax, [esp + 0x60]
mov dword [esp + 0x70], ebx
push eax
push ecx
lea eax, [ebx + 4]
push eax
push ebp
call fcn.00570940
add esp, 0x10
cmp dword [esi], 0
jne 0x569843
push esi
call fcn.00586cc0
mov edx, dword [ebp + 0xf0]
add esp, 4
mov edi, eax
mov dword [ebp + 0xc8], edi
test edx, edx
je 0x568d53
mov ecx, dword [edx]
test ecx, ecx
je 0x568d4c
test edi, edi
je 0x568d4c
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x568d33
mov ebx, dword [esp + 0x18]
test ebx, ebx
jns 0x568dc8
cmp ebx, 0xffffffff
jne 0x568d7a
push dword [esp + 0x14]
push 0x8d
push 0
push 0xb
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
jmp 0x568d9d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x568d9d
shl eax, 2
push eax
push 0x40
push 0
push 0xb
push 0
push 0xb
push 0x60
push dword [ebp]
call fcn.00587130
add esp, 0x20
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x568ecd
push 0xfffffffffffffffc
push 0x8b
push dword [ebp + 0x44]
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
jmp 0x568ec9
mov eax, dword [esp + 0x24]
cmp ax, 0x7f
je 0x568ddc
mov ecx, 0x81
cmp ax, cx
jne 0x568de6
cmp dword [esp + 0x84], 0
je 0x568e38
mov edi, dword [esp + 0x14]
lea eax, [ebx*4 + 4]
push eax
push 0x40
push edi
push 0x8d
push 0
push 0xb
push 0x62
push esi
call fcn.00587130
mov ecx, dword [esp + 0x3c]
add esp, 0x20
test ecx, ecx
je 0x568ed1
push 0xfffffffffffffffc
push 0x8b
push dword [ebp + 0x44]
push 0x8d
push 0x20
push esi
call fcn.00586ef0
mov ecx, dword [esp + 0x34]
add esp, 0x18
jmp 0x568ed1
push dword [esp + 0x14]
push 0x8d
push 0
push 0xb
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
cmp dword [esp + 0x1c], 0
je 0x568e7a
mov eax, 0xfffffffe
sub eax, ebx
shl eax, 2
push eax
push 0x8b
push dword [ebp + 0x44]
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
push 0x23
push esi
call fcn.00586c30
add esp, 8
mov edi, eax
cmp dword [esi], 0
jne 0x568eac
push 8
push esi
call fcn.0057b880
add esp, 8
test eax, eax
je 0x568eac
mov ecx, dword [ebp + 0xfc]
mov dword [eax + 4], ecx
mov dword [eax], edi
mov dword [ebp + 0xfc], eax
lea eax, [ebx*4 - 4]
push eax
push 0x40
push 0
push 0xb
push 0
push 0xb
push 0x60
push esi
call fcn.00587130
add esp, 0x20
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
cmp ax, 0x7f
je 0x568ee9
mov edx, 0x81
cmp ax, dx
jne 0x568fe7
cmp dword [esp + 0x84], 0
je 0x568f1b
cmp dword [esp + 0x10], 0
je 0x568fe7
xor eax, eax
test ecx, ecx
sete al
lea eax, [eax*4 - 8]
push eax
push 0x8b
push 0
push 2
jmp 0x568fdc
mov eax, 0x96
cmp word [esp + 0x20], ax
jne 0x568fc4
test ebx, ebx
jns 0x568f44
lea edi, [eax - 0xb]
xor edx, edx
mov eax, dword [esp + 0x10]
mov ecx, 2
neg eax
shl eax, 2
jmp 0x568f8c
or eax, 0xffffffff
sub eax, ebx
shl eax, 2
push eax
push 0x8b
push 0
push 1
push 0x20
push esi
call fcn.00586ef0
mov eax, dword [esp + 0x28]
add eax, ebx
neg eax
shl eax, 2
push eax
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
add esp, 0x30
mov edx, edi
mov ecx, 0x8d
mov edi, 1
xor eax, eax
push eax
push edi
push edx
push ecx
push 0x20
push esi
call fcn.00586ef0
push 4
push 0x40
push 0
push 0xb
push 0
push 0xb
push 0x62
push esi
call fcn.00587130
push 0
push 0x40
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x50
jmp 0x568fe7
test ebx, ebx
js 0x568fe7
or eax, 0xffffffff
sub eax, ebx
shl eax, 2
push eax
push 0x8b
push edi
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
push 0x22
push esi
call fcn.00586c30
add esp, 8
mov edi, eax
cmp dword [esi], 0
jne 0x569015
push 8
push esi
call fcn.0057b880
add esp, 8
test eax, eax
je 0x569015
mov edx, dword [esp + 0x40]
mov ecx, dword [edx]
mov dword [eax + 4], ecx
mov dword [eax], edi
mov dword [edx], eax
push dword [esp + 0x68]
push ebp
call fcn.00569930
add esp, 8
cmp dword [esi], 0
jne 0x569843
push esi
call fcn.00586cc0
mov edx, dword [esp + 0x70]
add esp, 4
mov edi, eax
test edx, edx
je 0x569060
nop
mov ecx, dword [edx]
test ecx, ecx
je 0x569059
test edi, edi
je 0x569059
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x569040
mov ecx, dword [esp + 0x28]
cmp word [ecx], 0x78
jne 0x569080
movzx eax, word [ecx + 2]
mov ebx, ecx
mov edi, dword [esp + 0x10]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x28], ecx
jmp 0x568cb0
cmp dword [esp + 0x2c], 0
je 0x569095
mov eax, dword [ebp + 0xe0]
mov dword [ebp + 0xe4], eax
jmp 0x56909b
mov eax, dword [ebp + 0xe4]
test eax, eax
je 0x56916d
push 0x22
push esi
call fcn.00586c30
push esi
mov ebx, eax
call fcn.00586cc0
mov edx, dword [ebp + 0xe4]
add esp, 0xc
mov edi, eax
test edx, edx
je 0x5690e2
mov ecx, dword [edx]
test ecx, ecx
je 0x5690db
test edi, edi
je 0x5690db
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x5690c2
mov eax, dword [esp + 0x10]
lea edi, [eax*4]
mov eax, dword [esp + 0x18]
test eax, eax
jns 0x569100
mov ecx, dword [esp + 0x14]
mov eax, 0x8d
jmp 0x569138
push dword [esp + 0x14]
push 0x8d
push 0
push 0xb
push 0x20
push esi
call fcn.00586ef0
push 0x23
push esi
call fcn.00586c30
push eax
lea eax, [ebp + 0xfc]
push eax
push esi
call fcn.00566c80
add esp, 0x2c
xor ecx, ecx
mov eax, 0xb
add edi, 4
push edi
push 0x40
push ecx
push eax
push 0
push 0xb
push 0x62
push esi
call fcn.00587130
push esi
call fcn.00586cc0
add esp, 0x24
test ebx, ebx
je 0x569169
test eax, eax
je 0x569169
mov ecx, dword [ebx + 8]
and ecx, 0xfffffffd
mov dword [ebx + 0xc], eax
or ecx, 1
mov dword [ebx + 8], ecx
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x1c], 0
je 0x56918e
push 4
push 0x8b
push dword [ebp + 0x44]
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
mov eax, dword [esp + 0x24]
cmp ax, 0x7e
je 0x569373
mov ecx, 0x80
cmp ax, cx
je 0x569373
test ebx, ebx
jns 0x569218
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5691d0
push 0
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
mov eax, dword [esp + 0x28]
add esp, 0x18
mov ebx, 0x86
cmp word [esp + 0x20], bx
je 0x569201
cmp eax, 2
jne 0x5691ec
push 1
push ebp
call fcn.0057ece0
add esp, 8
mov ecx, 0x8b
mov dword [esp + 0x14], 0
lea edx, [ecx - 0x4b]
jmp 0x569291
test eax, eax
je 0x5697e0
push eax
push ebp
call fcn.0057ece0
add esp, 8
jmp 0x5697e0
push 0
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
mov ebx, dword [esp + 0x28]
lea eax, [ebx*4 - 4]
push eax
push 0x8b
push 0
push 1
push 0x20
push esi
call fcn.00586ef0
mov eax, dword [esp + 0x48]
add esp, 0x30
add eax, ebx
mov ebx, 0x86
cmp word [esp + 0x20], bx
je 0x56927d
dec eax
push eax
push ebp
call fcn.0057ece0
push 0
push 0x40
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x20
jmp 0x569287
push eax
push ebp
call fcn.0057ece0
add esp, 8
mov ecx, 0x8d
mov edx, 1
push 0
push edx
push dword [esp + 0x1c]
mov eax, esi
push ecx
push 0x20
push eax
call fcn.00586ef0
mov eax, dword [esp + 0x38]
mov edx, 0x96
add esp, 0x18
cmp ax, dx
jne 0x5692c9
push esi
call fcn.00586cc0
mov ebx, dword [esp + 0x84]
add esp, 4
mov dword [ebx + 0x20], eax
jmp 0x569335
mov ecx, 0x97
cmp ax, cx
jne 0x569325
mov ebx, dword [esp + 0x80]
push 0x22
push esi
mov edi, dword [ebx + 0x20]
call fcn.00586c30
add esp, 8
test eax, eax
je 0x5692ff
test edi, edi
je 0x5692ff
mov ecx, dword [eax + 8]
and ecx, 0xfffffffd
mov dword [eax + 0xc], edi
or ecx, 1
mov dword [eax + 8], ecx
push esi
call fcn.00586cc0
mov edx, dword [esp + 0x34]
add esp, 4
test edx, edx
je 0x569335
test eax, eax
je 0x569335
mov ecx, dword [edx + 8]
and ecx, 0xfffffffd
mov dword [edx + 0xc], eax
or ecx, 1
mov dword [edx + 8], ecx
jmp 0x569335
cmp ax, bx
je 0x5697e0
mov ebx, dword [esp + 0x80]
push esi
call fcn.00586cc0
mov edx, dword [ebx + 0xc]
add esp, 4
mov esi, eax
test edx, edx
je 0x569367
mov ecx, dword [edx]
test ecx, ecx
je 0x569360
test esi, esi
je 0x569360
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], esi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x569347
mov dword [ebx + 0xc], 0
jmp 0x5697e0
cmp dword [esp + 0x84], 0
mov ebx, dword [esp + 0x10]
je 0x569385
test ebx, ebx
jne 0x569393
mov eax, dword [esp + 0x20]
mov ecx, 0x96
cmp ax, cx
jne 0x5693b2
push 0
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
mov eax, dword [esp + 0x38]
add esp, 0x18
mov ecx, 0x96
mov edi, dword [esp + 0x18]
test edi, edi
jns 0x569415
cmp ax, cx
jne 0x5693f4
cmp ebx, 2
jne 0x5693cf
push 1
push ebp
call fcn.0057ece0
add esp, 8
push 0
push 0x40
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
push 0x22
push esi
call fcn.00586c30
add esp, 0x20
mov ebx, eax
jmp 0x5694a9
test ebx, ebx
je 0x569482
push ebx
push ebp
call fcn.0057ece0
push 0x22
push esi
call fcn.00586c30
add esp, 0x10
mov ebx, eax
jmp 0x56949b
lea eax, [ebx*4 - 4]
push eax
push 0x8b
push 0
push 1
push 0x20
push esi
call fcn.00586ef0
mov edx, 0x96
lea eax, [ebx + edi]
add esp, 0x18
cmp word [esp + 0x20], dx
jne 0x569460
dec eax
push eax
push ebp
call fcn.0057ece0
push 0
push 0x40
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x20
jmp 0x56946a
push eax
push ebp
call fcn.0057ece0
add esp, 8
push 0
push 1
push dword [esp + 0x1c]
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
push 0x22
push esi
call fcn.00586c30
mov ebx, eax
add esp, 8
mov eax, 0x96
cmp word [esp + 0x20], ax
je 0x5694a9
push ebx
push dword [esp + 0x48]
push esi
call fcn.00566c80
add esp, 0xc
push esi
call fcn.00586cc0
mov edx, dword [esp + 0x4c]
add esp, 4
mov edi, eax
test edx, edx
je 0x5694e0
nop dword [eax]
mov ecx, dword [edx]
test ecx, ecx
je 0x5694d9
test edi, edi
je 0x5694d9
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x5694c0
mov eax, dword [esp + 0x18]
test eax, eax
jns 0x569595
mov edi, dword [esp + 0x10]
test edi, edi
je 0x569510
mov eax, edi
neg eax
shl eax, 2
push eax
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
mov eax, dword [esp + 0x20]
mov edx, 0x96
cmp ax, dx
jne 0x569558
push 4
push 0x40
push 0
push 0xb
push 0
push 0xb
push 0x62
push esi
call fcn.00587130
add esp, 0x20
cmp edi, 2
jne 0x56969a
push 0
push edi
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
jmp 0x56969a
mov ecx, 0x97
cmp ax, cx
jne 0x5697e0
push 4
push 0x40
push 0
push 0xb
push 0
push 0xb
push 0x62
push esi
call fcn.00587130
push 0
push 0x40
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x38
jmp 0x5696dc
mov edi, dword [esp + 0x20]
mov ecx, 0x86
cmp di, cx
jne 0x5695ea
lea eax, [eax*4 + 4]
push eax
push 0x40
push dword [esp + 0x1c]
push 0x8d
push 0
push 0xb
push 0x62
push esi
call fcn.00587130
mov eax, dword [esp + 0x30]
mov ecx, 4
shl eax, 2
sub ecx, eax
push ecx
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
add esp, 0x38
jmp 0x5697e0
lea eax, [eax*4 + 8]
push eax
push 0x40
push dword [esp + 0x1c]
push 0x8d
push 0
push 0xb
push 0x62
push esi
call fcn.00587130
add esp, 0x20
cmp dword [esp + 0x10], 2
jne 0x56964e
push 0
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
mov ecx, 0x97
add esp, 0x18
cmp di, cx
jne 0x569690
push 0
push 0x40
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
jmp 0x5696dc
push 0xfffffffffffffffc
push 0x8b
push 0
push 2
push 0x20
push esi
call fcn.00586ef0
mov edx, 0x96
mov ecx, 2
push 0
cmp di, dx
mov eax, 0x40
cmove eax, ecx
push eax
push 0
push 0x8b
push 0x20
push esi
call fcn.00586ef0
add esp, 0x30
mov ecx, 0x97
mov eax, 0x96
cmp di, ax
jne 0x5696d3
push esi
call fcn.00586cc0
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x80]
mov dword [eax + 0x20], ecx
test ebx, ebx
je 0x5697e0
test ecx, ecx
je 0x5697e0
mov eax, dword [ebx + 8]
and eax, 0xfffffffd
mov dword [ebx + 0xc], ecx
or eax, 1
mov dword [ebx + 8], eax
jmp 0x5697e0
cmp di, cx
jne 0x5697e0
mov eax, dword [esp + 0x80]
push 0x22
push esi
mov edi, dword [eax + 0x20]
call fcn.00586c30
add esp, 8
test eax, eax
je 0x569708
test edi, edi
je 0x569708
mov ecx, dword [eax + 8]
and ecx, 0xfffffffd
mov dword [eax + 0xc], edi
or ecx, 1
mov dword [eax + 8], ecx
push esi
call fcn.00586cc0
mov edx, dword [esp + 0x34]
add esp, 4
test edx, edx
je 0x56972c
test eax, eax
je 0x56972c
mov ecx, dword [edx + 8]
and ecx, 0xfffffffd
mov dword [edx + 0xc], eax
or ecx, 1
mov dword [edx + 8], ecx
mov ebx, dword [esp + 0x18]
test ebx, ebx
js 0x5697a5
mov edi, dword [esp + 0x14]
push edi
push 0x8d
push 0
push 0xb
push 0x20
push esi
call fcn.00586ef0
push 0x23
push esi
call fcn.00586c30
push eax
lea eax, [ebp + 0xfc]
push eax
push esi
call fcn.00566c80
push 0xfffffffffffffff8
push 0x8b
push 0
push 1
push 0x20
push esi
call fcn.00586ef0
add esp, 0x44
lea eax, [ebx*4 - 4]
push eax
push 0x40
push 0
push 0xb
push 0
push 0xb
push 0x60
push esi
call fcn.00587130
push 0
push 1
push edi
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x38
push esi
call fcn.00586cc0
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x80]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x5697e0
nop
mov ecx, dword [edx]
test ecx, ecx
je 0x5697d9
test esi, esi
je 0x5697d9
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], esi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x5697c0
cmp dword [esp + 0x2c], 0
je 0x569805
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x84], eax
mov eax, dword [esp + 0x38]
mov dword [ebp + 0xc0], eax
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0xe0], eax
mov eax, dword [esp + 0x4c]
mov dword [ebp + 0x88], eax
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov dword [ebp + 0xc8], eax
mov eax, dword [esp + 0x58]
mov dword [ebp + 0xe4], eax
mov eax, dword [esp + 0x5c]
pop edi
mov dword [ebp + 0xf0], eax
mov eax, dword [esp + 0x24]
pop esi
pop ebp
add eax, 4
pop ebx
add esp, 0x64
ret
cmp dword [esp + 0x2c], 0
je 0x569868
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x84], eax
mov eax, dword [esp + 0x38]
mov dword [ebp + 0xc0], eax
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0xe0], eax
mov eax, dword [esp + 0x4c]
mov dword [ebp + 0x88], eax
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov dword [ebp + 0xc8], eax
mov eax, dword [esp + 0x58]
pop edi
mov dword [ebp + 0xe4], eax
mov eax, dword [esp + 0x58]
pop esi
mov dword [ebp + 0xf0], eax
xor eax, eax
pop ebp
pop ebx
add esp, 0x64
ret