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

Disassembly:
sub esp, 0x3c
mov edx, dword [esp + 0x44]
push ebx
mov ebx, dword [esp + 0x44]
push ebp
push esi
push edi
sub edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov edi, dword [ebx]
mov dword [esp + 0x30], 0
lea eax, [edx + 2]
sar edx, 1
sar eax, 1
mov ebp, dword [ecx + eax*4]
xor eax, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x38], 0
mov ecx, dword [ecx + edx*4]
test ecx, ecx
mov edx, 4
mov dword [esp + 0x24], ecx
setne al
test ecx, ecx
lea eax, [eax*2 + 0x8b]
mov dword [esp + 0x1c], eax
lea eax, [ecx + 4]
cmovne edx, eax
cmp dword [edi], 0
mov dword [esp + 0x3c], edx
jne 0x5708ff
push 0x24
push edi
call fcn.0057b880
add esp, 8
mov esi, eax
cmp dword [edi], 0
mov dword [esp + 0x40], esi
jne 0x5708ff
mov ecx, dword [esp + 0x58]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
movups xmmword [esi + 0x10], xmm0
mov dword [esi + 0x20], 0
mov eax, dword [ecx + 8]
mov dword [esi], eax
mov eax, dword [esp + 0x54]
mov dword [esi + 0x10], eax
mov eax, ebp
and eax, 7
sar ebp, 3
mov dword [ecx + 8], esi
cmp dword [ebx + 0x50], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], ebp
jne 0x56f628
cmp dword [ebx + 0x4c], 0
jne 0x56f628
mov dword [esp + 0x28], 0
mov dword [esp + 0x48], 0
jmp 0x56f665
cmp eax, 1
jne 0x56f665
push ebp
push 0x8d
push 0
push 2
push 5
push edi
call fcn.005858e0
add esp, 0x18
mov ebp, eax
cmp dword [edi], 0
jne 0x56f665
push 8
push edi
call fcn.0057b880
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x56f665
mov eax, dword [esi + 0xc]
mov dword [ecx + 4], eax
mov dword [ecx], ebp
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x68]
push ebx
call fcn.0057f0e0
mov ecx, dword [esp + 0x3c]
add esp, 0x1c
mov dword [esp + 0x2c], eax
cmp cx, 0x16
je 0x56f6a2
mov ebp, 4
xor eax, eax
jmp 0x56f6ac
mov ebp, 0x8d
mov eax, 8
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], eax
cmp edx, 1
jbe 0x56f832
cmp dword [ebx + 0x68], 1
jne 0x56f779
cmp dword [ebx + 0x124], 0
jne 0x56f779
cmp cx, 0x11
je 0x56f779
cmp cx, 0x16
je 0x56f779
lea eax, [edx + edx]
push eax
push 0x40
push 0
push 2
push 0
push 1
push 0x60
push edi
call fcn.00587130
push 0
push 0xc
push 0
push 1
push 4
push edi
add esi, 0xc
call fcn.005858e0
push eax
push esi
push edi
call fcn.00566c80
add esp, 0x44
push dword [esp + 0x44]
push 0x40
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.00586ef0
push edi
call fcn.00586cc0
mov ecx, dword [esp + 0x3c]
push 0
push esi
push dword [esp + 0x50]
mov dword [esp + 0x6c], eax
push ecx
push ebx
call fcn.0056d330
mov eax, dword [esp + 0x48]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.00587130
add esp, 0x50
push 1
push edi
call fcn.00586c30
mov esi, dword [esp + 0x48]
add esp, 8
jmp 0x56f813
cmp dword [edi], 0
jne 0x56f7d2
cmp ebp, 0x8d
lea ecx, [eax + 0x20]
cmovne ecx, eax
cmp ebp, 9
ja 0x56f79e
lea eax, [ebp*4 - 8]
push eax
push 0x8d
jmp 0x56f7bd
cmp ebp, 0x3f
ja 0x56f7bb
mov al, byte [ebp + 0x686558]
or al, 0xb8
push edx
movzx eax, al
push eax
push edi
call fcn.00579d40
add esp, 0xc
jmp 0x56f7d2
push ecx
push ebp
push edx
push 0x40
push 1
push edi
call fcn.0057b520
add esp, 0x18
test eax, eax
je 0x56f7d2
mov byte [eax], 0xc7
push edi
call fcn.00586cc0
mov ecx, dword [esp + 0x24]
push 1
mov dword [esp + 0x4c], eax
lea eax, [esi + 0xc]
push eax
push dword [esp + 0x38]
push ecx
push ebx
call fcn.0056d330
mov eax, dword [esp + 0x30]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.00587130
push 1
push edi
call fcn.00586c30
add esp, 0x40
mov ecx, eax
test ecx, ecx
je 0x56f848
mov edx, dword [esp + 0x44]
test edx, edx
je 0x56f848
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
jmp 0x56f848
jne 0x56f848
push 1
lea eax, [esi + 0xc]
push eax
push dword [esp + 0x34]
push ecx
push ebx
call fcn.0056d330
add esp, 0x14
cmp dword [esp + 0x48], 2
jne 0x56f92c
cmp dword [edi], 0
jne 0x56f87b
mov eax, dword [esp + 0x28]
add eax, 0x20
push eax
push 0x8d
push 0
push 1
push 1
push edi
call fcn.0057b520
add esp, 0x18
test eax, eax
je 0x56f87b
mov byte [eax], 0x8b
mov eax, dword [esp + 0x28]
add eax, 4
push eax
push 0x8d
push 0
push 3
push 0x20
push edi
mov dword [esp + 0x5c], eax
call fcn.00586ef0
push 0
push 3
push 0
push 1
push 0
push 1
push 0x62
push edi
call fcn.00587130
push 0
push 3
push 0
push 2
push 0
push 3
push 0x62
push edi
call fcn.00587130
add esp, 0x58
push 0
push 1
push 0
push 3
push 5
push edi
call fcn.005858e0
add esp, 0x18
mov dword [esp + 0x48], eax
cmp dword [edi], 0
jne 0x56f8ff
push 8
push edi
call fcn.0057b880
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x56f8ff
mov eax, dword [esi + 0xc]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
mov dword [esi + 0xc], ecx
push 0
push 2
push dword [esp + 0x30]
push 0x8d
push 0x20
push edi
call fcn.00586ef0
push 0
push 2
push dword [esp + 0x64]
push 0x8d
push 0x20
push edi
call fcn.00586ef0
add esp, 0x30
mov dx, word [esp + 0x10]
movzx eax, dx
add eax, 0xffffffdf
cmp eax, 0xc
ja case.0x56f940.35
jmp dword [eax*4 + 0x57090c]
mov eax, dword [esp + 0x20]
cmp ax, 0x11
je 0x5701cd
cmp ax, 0x16
je 0x5701cd
cmp ax, 0xd
jne 0x56faed
cmp dword [ebx + 0x128], 0
jne 0x56faed
cmp dx, 0x21
jne 0x56fa10
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x56f993
push 2
push ebx
call fcn.00566cb0
add esp, 8
push 0
push 0xc
push ebp
mov ebp, dword [esp + 0x28]
push ebp
push 0x20
push edi
call fcn.00586ef0
push 0
push 2
push dword [esp + 0x5c]
push ebp
push 0x20
push edi
call fcn.00586ef0
push 0
push 0xc
push 0
push 2
push 0x20
push edi
call fcn.00586ef0
add esp, 0x48
push ebx
call fcn.00583da0
mov eax, dword [esp + 0x2c]
add esp, 4
test eax, eax
je 0x56f9ef
push 0
push 0xc
push eax
push 0x8d
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
push edi
call fcn.00586cc0
add esp, 4
push ebx
mov dword [esi + 0x14], eax
call fcn.00576a90
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
cmp dword [ebx + 0x124], 0
jne 0x56faed
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x56fa30
push 2
push ebx
call fcn.00566cb0
add esp, 8
push 0
push 2
push dword [esp + 0x44]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
mov eax, dword [esp + 0x48]
add eax, eax
push eax
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push edi
call fcn.00587130
add esp, 0x38
cmp dword [ebx + 0x68], 1
push 0
push 0xc
push 0
push 2
jne 0x56fa8c
push 0x1062
push edi
call fcn.00587520
push 0
push 0xc
push 2
push 4
push edi
call fcn.00585780
add esp, 0x2c
jmp 0x56fac4
push 5
push edi
call fcn.005858e0
push ebx
mov dword [esp + 0x64], eax
call fcn.00583da0
push edi
call fcn.00586cc0
mov ecx, dword [esp + 0x68]
add esp, 0x20
mov edx, eax
test ecx, ecx
je 0x56fac4
test edx, edx
je 0x56fac4
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edx
or eax, 1
mov dword [ecx + 8], eax
push 0
push 2
push ebp
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
mov eax, dword [esp + 0x40]
add esp, 0x18
test eax, eax
je 0x56f9ef
push 0
push 2
jmp 0x56f9de
xor ecx, ecx
mov dword [esp + 0x40], ecx
cmp ax, 0x1d
je 0x56fb8e
cmp ax, 0x1e
je 0x56fb8e
mov eax, dword [esp + 0x34]
movzx eax, word [eax]
mov dword [esp + 0x44], eax
cmp eax, 0x1d
je 0x56fb1c
cmp eax, 0x1e
jne 0x56fb8e
cmp dword [ebx + 0x124], ecx
je 0x56fb4c
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], 0xfc00
mov ax, word [eax + 2]
and ax, word [esp + 0x48]
mov dword [esp + 0x48], 0xd800
cmp ax, word [esp + 0x48]
je 0x56fb8e
mov eax, dword [esp + 0x44]
cmp ax, 0x1e
jne 0x56fd28
mov eax, dword [esp + 0x34]
add eax, 2
push eax
push ebx
mov dword [esp + 0x50], eax
call fcn.00567390
add esp, 8
test eax, eax
je 0x56fd21
push dword [esp + 0x48]
push ebx
call fcn.00567280
mov ecx, eax
add esp, 8
mov dword [esp + 0x40], ecx
test ecx, ecx
jne 0x56fd23
cmp dword [esp + 0x24], 0
jne 0x56fba0
push 2
push ebx
call fcn.00566cb0
add esp, 8
push 0
push 2
push dword [esp + 0x44]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
cmp dword [ebx + 0x124], 0
je 0x56fbd7
push 0
push 2
push dword [esp + 0x2c]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
cmp word [esp + 0x10], 0x27
jne 0x56fbf5
push dword [esp + 0x30]
push 0x40
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.005778a0
push edi
call fcn.00586cc0
push 0
mov dword [esp + 0x58], eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x40]
push dword [esp + 0x38]
push ebx
call fcn.0056d330
add esp, 0x20
cmp dword [ebx + 0x124], 0
je 0x56fc42
push 0
push 2
push dword [esp + 0x2c]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
cmp word [esp + 0x10], 0x27
jne 0x56fc78
mov eax, dword [esp + 0x18]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.00587130
push 0
push edi
call fcn.00586c30
push eax
lea eax, [esp + 0x40]
push eax
push edi
call fcn.00566c80
add esp, 0x34
push dword [esp + 0x48]
push ebx
call fcn.00577a40
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push edi
call fcn.00587130
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x64]
add esp, 0x2c
mov dword [esp + 0x40], esi
mov ebp, eax
test edx, edx
je 0x56fcd1
mov dword [esp + 0x40], esi
mov ecx, dword [edx]
test ecx, ecx
je 0x56fcca
test ebp, ebp
je 0x56fcca
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], ebp
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x56fcb1
cmp dword [ebx + 0x124], 0
je 0x570120
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x18]
add esp, 4
mov esi, eax
test edx, edx
je 0x56fd11
mov ecx, dword [edx]
test ecx, ecx
je 0x56fd0a
test esi, esi
je 0x56fd0a
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 0x56fcf1
mov eax, dword [esp + 0x24]
mov ecx, 2
xor edx, edx
jmp 0x570179
xor ecx, ecx
mov dx, word [esp + 0x10]
mov eax, dword [esp + 0x34]
add dword [esp + 0x34], 4
movzx eax, word [eax + 2]
mov dword [esp + 0x48], eax
test ecx, 0x100
je 0x56fd4b
movzx ecx, cl
shl ecx, 8
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x56fd55
or eax, ecx
mov dword [esp + 0x48], eax
mov dword [esi + 0x20], 1
mov word [esi + 0x1c], ax
mov dword [esi + 0x18], ecx
cmp dx, 0x27
jne 0x56fd81
mov eax, dword [esp + 0x30]
inc eax
push eax
push 0x40
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
push 0x22
push edi
call fcn.00586c30
push edi
mov dword [esp + 0x50], eax
call fcn.00586cc0
add esp, 0xc
mov dword [esp + 0x30], eax
cmp word [esp + 0x10], 0x27
lea eax, [esi + 0xc]
jne 0x56fdd5
mov eax, dword [esp + 0x18]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.00587130
push 0
push edi
call fcn.00586c30
push eax
lea eax, [esi + 0xc]
push eax
push edi
call fcn.00566c80
add esp, 0x34
lea eax, [esi + 0xc]
mov ecx, dword [esp + 0x20]
push 0
push eax
push dword [esp + 0x34]
push ecx
push ebx
call fcn.0056d330
mov eax, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x56fe07
push 0
push 2
push eax
push 0x8d
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
push edi
call fcn.00586cc0
mov ecx, dword [esp + 0x48]
add esp, 4
mov edx, eax
test ecx, ecx
je 0x56fe2d
test edx, edx
je 0x56fe2d
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edx
or eax, 1
mov dword [ecx + 8], eax
lea eax, [esi + 0xc]
push eax
push ebx
call fcn.005778a0
push 0
push 0x82
push 0
push 1
push 0x23
push edi
call fcn.00586ef0
mov eax, dword [esp + 0x60]
add esp, 0x20
test eax, eax
je 0x56fe6b
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x66
push edi
call fcn.00587130
add esp, 0x20
mov eax, dword [esp + 0x48]
movzx eax, ax
push eax
push 0x40
push 0
push 1
push 1
push edi
mov dword [esp + 0x60], eax
call fcn.005858e0
mov ecx, eax
add esp, 0x18
test ecx, ecx
je 0x56fea5
mov edx, dword [esp + 0x30]
test edx, edx
je 0x56fea5
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edx
or eax, 1
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x56febc
push 2
push ebx
call fcn.00566cb0
mov eax, dword [esp + 0x2c]
add esp, 8
push 0
push 2
push eax
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
push 0
push 2
push dword [esp + 0x5c]
push dword [esp + 0x40]
push 0x20
push edi
call fcn.00586ef0
add esp, 0x30
cmp word [esp + 0x10], 0x27
jne 0x56ff1a
mov eax, dword [esp + 0x18]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.00587130
push 0
push edi
call fcn.00586c30
push eax
lea eax, [esp + 0x40]
push eax
push edi
call fcn.00566c80
add esp, 0x34
push edi
call fcn.00586cc0
push 0
mov dword [esp + 0x44], eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x38]
push dword [esp + 0x30]
push ebx
call fcn.0056d330
mov eax, dword [esp + 0x40]
add esp, 0x18
test eax, eax
je 0x56ff59
push 0
push 2
push eax
push 0x8d
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.005778a0
push 0
push 0x82
push 0
push 1
push 0x23
push edi
call fcn.00586ef0
mov eax, dword [esp + 0x60]
add esp, 0x20
test eax, eax
je 0x56ff98
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x66
push edi
call fcn.00587130
add esp, 0x20
push dword [esp + 0x48]
push 0x40
push 0
push 1
push 1
push edi
call fcn.005858e0
cmp word [esp + 0x28], 0x21
jne 0x570017
mov ebp, dword [esp + 0x54]
mov ecx, eax
add esp, 0x18
test ecx, ecx
je 0x56ffd2
test ebp, ebp
je 0x56ffd2
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], ebp
or eax, 1
mov dword [ecx + 8], eax
push 0
push 2
push dword [esp + 0x2c]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
push 0x22
push edi
call fcn.00586c30
mov ecx, eax
add esp, 0x20
test ecx, ecx
je 0x570094
test ebp, ebp
je 0x570094
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], ebp
or eax, 1
mov dword [ecx + 8], eax
jmp 0x570094
push 0
push 2
push dword [esp + 0x44]
mov dword [esp + 0x6c], eax
push dword [esp + 0x40]
push 0x20
push edi
call fcn.00586ef0
push edi
call fcn.00586cc0
mov ecx, dword [esp + 0x7c]
add esp, 0x34
mov edx, eax
test ecx, ecx
je 0x570055
test edx, edx
je 0x570055
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edx
or eax, 1
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.00587130
push 1
push edi
call fcn.00586c30
mov edx, eax
add esp, 0x28
test edx, edx
je 0x570094
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x570094
mov eax, dword [edx + 8]
and eax, 0xfffffffd
mov dword [edx + 0xc], ecx
or eax, 1
mov dword [edx + 8], eax
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x40], esi
mov ebp, eax
test edx, edx
je 0x5700d0
mov dword [esp + 0x40], esi
nop
mov ecx, dword [edx]
test ecx, ecx
je 0x5700c9
test ebp, ebp
je 0x5700c9
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], ebp
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x5700b0
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
push 2
push 0x40
push ebp
push esi
push 0
push 2
push 0x60
push edi
call fcn.00587130
push 0
push 2
push ebp
push esi
push 0x20
push edi
call fcn.00586ef0
add esp, 0x38
push edi
call fcn.00586cc0
mov ecx, dword [esp + 0x44]
add esp, 4
push ebx
mov dword [ecx + 0x14], eax
call fcn.00576a90
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x62
push edi
call fcn.00587130
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x38]
add esp, 0x24
mov esi, eax
test edx, edx
je 0x570167
mov ecx, dword [edx]
test ecx, ecx
je 0x570160
test esi, esi
je 0x570160
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 0x570147
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], 2
push eax
push dword [esp + 0x20]
push edx
push ecx
push 0x20
push edi
call fcn.00586ef0
mov eax, dword [esp + 0x40]
add esp, 0x18
test eax, eax
je 0x5701a8
push 0
push 2
push eax
push 0x8d
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
push edi
call fcn.00586cc0
mov ecx, dword [esp + 0x44]
add esp, 4
push ebx
mov dword [ecx + 0x14], eax
call fcn.00576a90
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push 2
push ebx
call fcn.00566cb0
push 0
push 2
push 0
push 0x8b
push 0x20
push edi
call fcn.00586ef0
push 0
push 0x40
push 4
push 0x8b
push 0x20
push edi
call fcn.00586ef0
mov bp, word [esp + 0x48]
add esp, 0x38
cmp bp, 0x27
jne 0x570221
push dword [esp + 0x30]
push 0x40
push 8
push 0x8d
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
push edi
call fcn.00586cc0
push 1
mov dword [esp + 0x50], eax
lea eax, [esi + 0x18]
push eax
push dword [esp + 0x38]
push dword [esp + 0x30]
push ebx
call fcn.0056d330
add esp, 0x18
cmp bp, 0x27
jne 0x570297
push 8
push 0x8d
push 0
push 1
push 0x20
push edi
call fcn.00586ef0
push 1
push 0x40
push 0
push 1
push 0
push 1
push 0x262
push edi
call fcn.00587130
push 0
push edi
call fcn.00586c30
add esp, 0x40
mov ebp, eax
push 0
push 1
push 8
push 0x8d
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
jmp 0x570299
xor ebp, ebp
push 1
push ebx
call fcn.00566cb0
push 0
push 2
push 0
push 0x8b
push 0x20
push edi
call fcn.00586ef0
push 0x22
push edi
call fcn.00586c30
add esp, 0x28
test eax, eax
je 0x5702da
mov edx, dword [esp + 0x48]
test edx, edx
je 0x5702da
mov ecx, dword [eax + 8]
and ecx, 0xfffffffd
mov dword [eax + 0xc], edx
or ecx, 1
mov dword [eax + 8], ecx
test ebp, ebp
je 0x5702fa
push edi
call fcn.00586cc0
add esp, 4
test eax, eax
je 0x5702fa
mov ecx, dword [ebp + 8]
and ecx, 0xfffffffd
mov dword [ebp + 0xc], eax
or ecx, 1
mov dword [ebp + 8], ecx
push edi
call fcn.00586cc0
add esp, 4
mov dword [esi + 0x14], eax
push ebx
call fcn.00576a90
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x57032e
push 1
push ebx
call fcn.00566cb0
add esp, 8
push 0
push 2
push ebp
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
push edi
call fcn.00586cc0
add esp, 0x1c
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x28]
test eax, eax
je case.0x56f940.35
push 0
push 2
push eax
push 0x8d
jmp 0x5708df
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x570379
push 2
push ebx
call fcn.00566cb0
add esp, 8
push 0
push 2
push ebp
mov ebp, dword [esp + 0x28]
push ebp
push 0x20
push edi
call fcn.00586ef0
mov eax, dword [esp + 0x48]
inc eax
push eax
push 0x40
push dword [esp + 0x5c]
push ebp
push 0x20
push edi
call fcn.00586ef0
push edi
call fcn.00586cc0
add esp, 0x34
jmp 0x56f9f8
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x5703c1
push 1
push ebx
call fcn.00566cb0
add esp, 8
push 0
push 2
push ebp
push dword [esp + 0x28]
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
cmp word [esp + 0x10], 0x25
jne 0x56f9ef
push 1
lea eax, [esi + 0x18]
push eax
push dword [esp + 0x34]
push dword [esp + 0x2c]
push ebx
call fcn.0056d330
add esp, 0x14
jmp 0x56f9ef
cmp word [esp + 0x20], 0xd
jne 0x570442
cmp dword [ebx + 0x128], 0
jne 0x570442
push 0
push 0xc
push 0
push 2
push 0x20
push edi
call fcn.00586ef0
push ebx
call fcn.00583da0
mov eax, dword [esp + 0x44]
add esp, 0x1c
test eax, eax
je case.0x56f940.35
push 0
push 0xc
push eax
push 0x8d
jmp 0x5708df
cmp dword [ebx + 0x124], 0
je 0x5704ef
push 0
push 2
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.00586ef0
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.005778a0
push edi
call fcn.00586cc0
push 0
mov esi, eax
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x58]
push dword [esp + 0x50]
push ebx
call fcn.0056d330
push 0
push 2
push dword [esp + 0x58]
push ebp
push 0x20
push edi
call fcn.00586ef0
add esp, 0x50
push esi
push ebx
call fcn.00577a40
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x20]
add esp, 0xc
mov esi, eax
test edx, edx
je 0x5704d6
mov ecx, dword [edx]
test ecx, ecx
je 0x5704cf
test esi, esi
je 0x5704cf
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 0x5704b6
push dword [esp + 0x18]
push ebp
push 0
push 2
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
jmp 0x57034b
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.005778a0
push edi
call fcn.00586cc0
push 0
mov esi, eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x40]
push dword [esp + 0x38]
push ebx
call fcn.0056d330
push esi
push ebx
call fcn.00577a40
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push edi
call fcn.00587130
add esp, 0x48
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x3c]
add esp, 4
mov esi, eax
test edx, edx
je 0x570568
mov ecx, dword [edx]
test ecx, ecx
je 0x570561
test esi, esi
je 0x570561
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 0x570548
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x62
push edi
call fcn.00587130
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x38]
add esp, 0x24
mov esi, eax
test edx, edx
je 0x57034b
mov ecx, dword [edx]
test ecx, ecx
je 0x5705ac
test esi, esi
je 0x5705ac
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 0x570593
jmp 0x57034b
cmp dword [ebx + 0x124], 0
je 0x57069d
push 0
push 2
push 0xc
push 0x8d
push 0x20
push edi
call fcn.00586ef0
push dword [esp + 0x48]
push 0x40
push dword [esp + 0x38]
push ebp
push 0x20
push edi
call fcn.00586ef0
lea eax, [esp + 0x44]
push eax
push ebx
call fcn.005778a0
push edi
call fcn.00586cc0
push 0
mov esi, eax
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x70]
push dword [esp + 0x68]
push ebx
call fcn.0056d330
add esp, 0x50
push 0
push 2
push 0xc
push 0x8d
push 0x20
push edi
call fcn.00586ef0
mov eax, dword [esp + 0x30]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.00587130
push 0
push edi
call fcn.00586c30
add esp, 0x40
push eax
lea eax, [esp + 0x18]
push eax
push edi
call fcn.00566c80
push esi
push ebx
call fcn.00577a40
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x2c]
add esp, 0x18
mov esi, eax
test edx, edx
je 0x570691
mov ecx, dword [edx]
test ecx, ecx
je 0x57068a
test esi, esi
je 0x57068a
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 0x570671
push 0xc
push 0x8d
jmp 0x5708db
cmp word [esp + 0x20], 0xd
jne 0x570751
mov eax, dword [esp + 0x30]
add eax, eax
push eax
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push edi
call fcn.00587130
add esp, 0x20
cmp dword [ebx + 0x68], 1
push 0
push 0xc
push 0
push 2
jne 0x570704
push 0x1062
push edi
call fcn.00587520
push 0
push 0xc
push 2
push 4
push edi
call fcn.00585780
add esp, 0x2c
push ebx
call fcn.00576a90
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push 5
push edi
call fcn.005858e0
push ebx
mov esi, eax
call fcn.00583da0
push edi
call fcn.00586cc0
add esp, 0x20
test esi, esi
je case.0x56f940.35
test eax, eax
je case.0x56f940.35
mov ecx, dword [esi + 8]
and ecx, 0xfffffffd
mov dword [esi + 0xc], eax
or ecx, 1
push ebx
mov dword [esi + 8], ecx
call fcn.00576a90
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push dword [esp + 0x30]
push 0x40
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.00586ef0
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.005778a0
push edi
call fcn.00586cc0
push 0
mov esi, eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x58]
push dword [esp + 0x50]
push ebx
call fcn.0056d330
mov eax, dword [esp + 0x50]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.00587130
add esp, 0x58
push 0
push edi
call fcn.00586c30
push eax
lea eax, [esp + 0x20]
push eax
push edi
call fcn.00566c80
push esi
push ebx
call fcn.00577a40
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push edi
call fcn.00587130
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x78]
add esp, 0x40
mov esi, eax
test edx, edx
je 0x570808
mov ecx, dword [edx]
test ecx, ecx
je 0x570801
test esi, esi
je 0x570801
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 0x5707e8
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x62
push edi
call fcn.00587130
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x38]
add esp, 0x24
mov esi, eax
test edx, edx
je case.0x56f940.35
mov ecx, dword [edx]
test ecx, ecx
je 0x57084c
test esi, esi
je 0x57084c
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 0x570833
push ebx
call fcn.00576a90
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov esi, dword [esp + 0x18]
push 0
push 2
push esi
push ebp
push 0x20
push edi
call fcn.00586ef0
push 1
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x44]
push ebx
call fcn.0056d330
push 0
push 2
push esi
push ebp
push 0x20
push edi
call fcn.00586ef0
add esp, 0x44
push edi
call fcn.00586cc0
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x48], eax
test edx, edx
je 0x5708d9
mov ecx, dword [edx]
test ecx, ecx
je 0x5708d2
test eax, eax
je 0x5708d2
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 0xc], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x5708b5
push esi
push ebp
push 0
push 2
push 0x20
push edi
call fcn.00586ef0
add esp, 0x18
push ebx
call fcn.00576a90
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret