Function at 0x575bd0
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 0x576f7f
push 0x24
push edi
call fcn.00581f00
add esp, 8
mov esi, eax
cmp dword [edi], 0
mov dword [esp + 0x40], esi
jne 0x576f7f
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 0x575ca8
cmp dword [ebx + 0x4c], 0
jne 0x575ca8
mov dword [esp + 0x28], 0
mov dword [esp + 0x48], 0
jmp 0x575ce5
cmp eax, 1
jne 0x575ce5
push ebp
push 0x8d
push 0
push 2
push 5
push edi
call fcn.0058bf60
add esp, 0x18
mov ebp, eax
cmp dword [edi], 0
jne 0x575ce5
push 8
push edi
call fcn.00581f00
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x575ce5
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.00585760
mov ecx, dword [esp + 0x3c]
add esp, 0x1c
mov dword [esp + 0x2c], eax
cmp cx, 0x16
je 0x575d22
mov ebp, 4
xor eax, eax
jmp 0x575d2c
mov ebp, 0x8d
mov eax, 8
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], eax
cmp edx, 1
jbe 0x575eb2
cmp dword [ebx + 0x68], 1
jne 0x575df9
cmp dword [ebx + 0x124], 0
jne 0x575df9
cmp cx, 0x11
je 0x575df9
cmp cx, 0x16
je 0x575df9
lea eax, [edx + edx]
push eax
push 0x40
push 0
push 2
push 0
push 1
push 0x60
push edi
call fcn.0058d7b0
push 0
push 0xc
push 0
push 1
push 4
push edi
add esi, 0xc
call fcn.0058bf60
push eax
push esi
push edi
call fcn.0056d300
add esp, 0x44
push dword [esp + 0x44]
push 0x40
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.0058d570
push edi
call fcn.0058d340
mov ecx, dword [esp + 0x3c]
push 0
push esi
push dword [esp + 0x50]
mov dword [esp + 0x6c], eax
push ecx
push ebx
call fcn.005739b0
mov eax, dword [esp + 0x48]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.0058d7b0
add esp, 0x50
push 1
push edi
call fcn.0058d2b0
mov esi, dword [esp + 0x48]
add esp, 8
jmp 0x575e93
cmp dword [edi], 0
jne 0x575e52
cmp ebp, 0x8d
lea ecx, [eax + 0x20]
cmovne ecx, eax
cmp ebp, 9
ja 0x575e1e
lea eax, [ebp*4 - 8]
push eax
push 0x8d
jmp 0x575e3d
cmp ebp, 0x3f
ja 0x575e3b
mov al, byte [ebp + 0x698498]
or al, 0xb8
push edx
movzx eax, al
push eax
push edi
call fcn.005803c0
add esp, 0xc
jmp 0x575e52
push ecx
push ebp
push edx
push 0x40
push 1
push edi
call fcn.00581ba0
add esp, 0x18
test eax, eax
je 0x575e52
mov byte [eax], 0xc7
push edi
call fcn.0058d340
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.005739b0
mov eax, dword [esp + 0x30]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.0058d7b0
push 1
push edi
call fcn.0058d2b0
add esp, 0x40
mov ecx, eax
test ecx, ecx
je 0x575ec8
mov edx, dword [esp + 0x44]
test edx, edx
je 0x575ec8
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
jmp 0x575ec8
jne 0x575ec8
push 1
lea eax, [esi + 0xc]
push eax
push dword [esp + 0x34]
push ecx
push ebx
call fcn.005739b0
add esp, 0x14
cmp dword [esp + 0x48], 2
jne 0x575fac
cmp dword [edi], 0
jne 0x575efb
mov eax, dword [esp + 0x28]
add eax, 0x20
push eax
push 0x8d
push 0
push 1
push 1
push edi
call fcn.00581ba0
add esp, 0x18
test eax, eax
je 0x575efb
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.0058d570
push 0
push 3
push 0
push 1
push 0
push 1
push 0x62
push edi
call fcn.0058d7b0
push 0
push 3
push 0
push 2
push 0
push 3
push 0x62
push edi
call fcn.0058d7b0
add esp, 0x58
push 0
push 1
push 0
push 3
push 5
push edi
call fcn.0058bf60
add esp, 0x18
mov dword [esp + 0x48], eax
cmp dword [edi], 0
jne 0x575f7f
push 8
push edi
call fcn.00581f00
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x575f7f
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.0058d570
push 0
push 2
push dword [esp + 0x64]
push 0x8d
push 0x20
push edi
call fcn.0058d570
add esp, 0x30
mov dx, word [esp + 0x10]
movzx eax, dx
add eax, 0xffffffdf
cmp eax, 0xc
ja case.0x575fc0.35
jmp dword [eax*4 + 0x576f8c]
mov eax, dword [esp + 0x20]
cmp ax, 0x11
je 0x57684d
cmp ax, 0x16
je 0x57684d
cmp ax, 0xd
jne 0x57616d
cmp dword [ebx + 0x128], 0
jne 0x57616d
cmp dx, 0x21
jne 0x576090
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x576013
push 2
push ebx
call fcn.0056d330
add esp, 8
push 0
push 0xc
push ebp
mov ebp, dword [esp + 0x28]
push ebp
push 0x20
push edi
call fcn.0058d570
push 0
push 2
push dword [esp + 0x5c]
push ebp
push 0x20
push edi
call fcn.0058d570
push 0
push 0xc
push 0
push 2
push 0x20
push edi
call fcn.0058d570
add esp, 0x48
push ebx
call fcn.0058a420
mov eax, dword [esp + 0x2c]
add esp, 4
test eax, eax
je 0x57606f
push 0
push 0xc
push eax
push 0x8d
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
push edi
call fcn.0058d340
add esp, 4
push ebx
mov dword [esi + 0x14], eax
call fcn.0057d110
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 0x57616d
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x5760b0
push 2
push ebx
call fcn.0056d330
add esp, 8
push 0
push 2
push dword [esp + 0x44]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.0058d570
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.0058d7b0
add esp, 0x38
cmp dword [ebx + 0x68], 1
push 0
push 0xc
push 0
push 2
jne 0x57610c
push 0x1062
push edi
call fcn.0058dba0
push 0
push 0xc
push 2
push 4
push edi
call fcn.0058be00
add esp, 0x2c
jmp 0x576144
push 5
push edi
call fcn.0058bf60
push ebx
mov dword [esp + 0x64], eax
call fcn.0058a420
push edi
call fcn.0058d340
mov ecx, dword [esp + 0x68]
add esp, 0x20
mov edx, eax
test ecx, ecx
je 0x576144
test edx, edx
je 0x576144
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.0058d570
mov eax, dword [esp + 0x40]
add esp, 0x18
test eax, eax
je 0x57606f
push 0
push 2
jmp 0x57605e
xor ecx, ecx
mov dword [esp + 0x40], ecx
cmp ax, 0x1d
je 0x57620e
cmp ax, 0x1e
je 0x57620e
mov eax, dword [esp + 0x34]
movzx eax, word [eax]
mov dword [esp + 0x44], eax
cmp eax, 0x1d
je 0x57619c
cmp eax, 0x1e
jne 0x57620e
cmp dword [ebx + 0x124], ecx
je 0x5761cc
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 0x57620e
mov eax, dword [esp + 0x44]
cmp ax, 0x1e
jne 0x5763a8
mov eax, dword [esp + 0x34]
add eax, 2
push eax
push ebx
mov dword [esp + 0x50], eax
call fcn.0056da10
add esp, 8
test eax, eax
je 0x5763a1
push dword [esp + 0x48]
push ebx
call fcn.0056d900
mov ecx, eax
add esp, 8
mov dword [esp + 0x40], ecx
test ecx, ecx
jne 0x5763a3
cmp dword [esp + 0x24], 0
jne 0x576220
push 2
push ebx
call fcn.0056d330
add esp, 8
push 0
push 2
push dword [esp + 0x44]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
cmp dword [ebx + 0x124], 0
je 0x576257
push 0
push 2
push dword [esp + 0x2c]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
cmp word [esp + 0x10], 0x27
jne 0x576275
push dword [esp + 0x30]
push 0x40
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.0057df20
push edi
call fcn.0058d340
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.005739b0
add esp, 0x20
cmp dword [ebx + 0x124], 0
je 0x5762c2
push 0
push 2
push dword [esp + 0x2c]
push dword [esp + 0x28]
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
cmp word [esp + 0x10], 0x27
jne 0x5762f8
mov eax, dword [esp + 0x18]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.0058d7b0
push 0
push edi
call fcn.0058d2b0
push eax
lea eax, [esp + 0x40]
push eax
push edi
call fcn.0056d300
add esp, 0x34
push dword [esp + 0x48]
push ebx
call fcn.0057e0c0
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push edi
call fcn.0058d7b0
push edi
call fcn.0058d340
mov edx, dword [esp + 0x64]
add esp, 0x2c
mov dword [esp + 0x40], esi
mov ebp, eax
test edx, edx
je 0x576351
mov dword [esp + 0x40], esi
mov ecx, dword [edx]
test ecx, ecx
je 0x57634a
test ebp, ebp
je 0x57634a
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 0x576331
cmp dword [ebx + 0x124], 0
je 0x5767a0
push edi
call fcn.0058d340
mov edx, dword [esp + 0x18]
add esp, 4
mov esi, eax
test edx, edx
je 0x576391
mov ecx, dword [edx]
test ecx, ecx
je 0x57638a
test esi, esi
je 0x57638a
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 0x576371
mov eax, dword [esp + 0x24]
mov ecx, 2
xor edx, edx
jmp 0x5767f9
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 0x5763cb
movzx ecx, cl
shl ecx, 8
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x5763d5
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 0x576401
mov eax, dword [esp + 0x30]
inc eax
push eax
push 0x40
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
push 0x22
push edi
call fcn.0058d2b0
push edi
mov dword [esp + 0x50], eax
call fcn.0058d340
add esp, 0xc
mov dword [esp + 0x30], eax
cmp word [esp + 0x10], 0x27
lea eax, [esi + 0xc]
jne 0x576455
mov eax, dword [esp + 0x18]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.0058d7b0
push 0
push edi
call fcn.0058d2b0
push eax
lea eax, [esi + 0xc]
push eax
push edi
call fcn.0056d300
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.005739b0
mov eax, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x576487
push 0
push 2
push eax
push 0x8d
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
push edi
call fcn.0058d340
mov ecx, dword [esp + 0x48]
add esp, 4
mov edx, eax
test ecx, ecx
je 0x5764ad
test edx, edx
je 0x5764ad
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.0057df20
push 0
push 0x82
push 0
push 1
push 0x23
push edi
call fcn.0058d570
mov eax, dword [esp + 0x60]
add esp, 0x20
test eax, eax
je 0x5764eb
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x66
push edi
call fcn.0058d7b0
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.0058bf60
mov ecx, eax
add esp, 0x18
test ecx, ecx
je 0x576525
mov edx, dword [esp + 0x30]
test edx, edx
je 0x576525
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 0x57653c
push 2
push ebx
call fcn.0056d330
mov eax, dword [esp + 0x2c]
add esp, 8
push 0
push 2
push eax
push dword [esp + 0x28]
push 0x20
push edi
call fcn.0058d570
push 0
push 2
push dword [esp + 0x5c]
push dword [esp + 0x40]
push 0x20
push edi
call fcn.0058d570
add esp, 0x30
cmp word [esp + 0x10], 0x27
jne 0x57659a
mov eax, dword [esp + 0x18]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.0058d7b0
push 0
push edi
call fcn.0058d2b0
push eax
lea eax, [esp + 0x40]
push eax
push edi
call fcn.0056d300
add esp, 0x34
push edi
call fcn.0058d340
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.005739b0
mov eax, dword [esp + 0x40]
add esp, 0x18
test eax, eax
je 0x5765d9
push 0
push 2
push eax
push 0x8d
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.0057df20
push 0
push 0x82
push 0
push 1
push 0x23
push edi
call fcn.0058d570
mov eax, dword [esp + 0x60]
add esp, 0x20
test eax, eax
je 0x576618
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x66
push edi
call fcn.0058d7b0
add esp, 0x20
push dword [esp + 0x48]
push 0x40
push 0
push 1
push 1
push edi
call fcn.0058bf60
cmp word [esp + 0x28], 0x21
jne 0x576697
mov ebp, dword [esp + 0x54]
mov ecx, eax
add esp, 0x18
test ecx, ecx
je 0x576652
test ebp, ebp
je 0x576652
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.0058d570
push 0x22
push edi
call fcn.0058d2b0
mov ecx, eax
add esp, 0x20
test ecx, ecx
je 0x576714
test ebp, ebp
je 0x576714
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], ebp
or eax, 1
mov dword [ecx + 8], eax
jmp 0x576714
push 0
push 2
push dword [esp + 0x44]
mov dword [esp + 0x6c], eax
push dword [esp + 0x40]
push 0x20
push edi
call fcn.0058d570
push edi
call fcn.0058d340
mov ecx, dword [esp + 0x7c]
add esp, 0x34
mov edx, eax
test ecx, ecx
je 0x5766d5
test edx, edx
je 0x5766d5
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.0058d7b0
push 1
push edi
call fcn.0058d2b0
mov edx, eax
add esp, 0x28
test edx, edx
je 0x576714
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x576714
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.0058d340
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x40], esi
mov ebp, eax
test edx, edx
je 0x576750
mov dword [esp + 0x40], esi
nop
mov ecx, dword [edx]
test ecx, ecx
je 0x576749
test ebp, ebp
je 0x576749
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 0x576730
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.0058d7b0
push 0
push 2
push ebp
push esi
push 0x20
push edi
call fcn.0058d570
add esp, 0x38
push edi
call fcn.0058d340
mov ecx, dword [esp + 0x44]
add esp, 4
push ebx
mov dword [ecx + 0x14], eax
call fcn.0057d110
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.0058d7b0
push edi
call fcn.0058d340
mov edx, dword [esp + 0x38]
add esp, 0x24
mov esi, eax
test edx, edx
je 0x5767e7
mov ecx, dword [edx]
test ecx, ecx
je 0x5767e0
test esi, esi
je 0x5767e0
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 0x5767c7
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.0058d570
mov eax, dword [esp + 0x40]
add esp, 0x18
test eax, eax
je 0x576828
push 0
push 2
push eax
push 0x8d
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
push edi
call fcn.0058d340
mov ecx, dword [esp + 0x44]
add esp, 4
push ebx
mov dword [ecx + 0x14], eax
call fcn.0057d110
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.0056d330
push 0
push 2
push 0
push 0x8b
push 0x20
push edi
call fcn.0058d570
push 0
push 0x40
push 4
push 0x8b
push 0x20
push edi
call fcn.0058d570
mov bp, word [esp + 0x48]
add esp, 0x38
cmp bp, 0x27
jne 0x5768a1
push dword [esp + 0x30]
push 0x40
push 8
push 0x8d
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
push edi
call fcn.0058d340
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.005739b0
add esp, 0x18
cmp bp, 0x27
jne 0x576917
push 8
push 0x8d
push 0
push 1
push 0x20
push edi
call fcn.0058d570
push 1
push 0x40
push 0
push 1
push 0
push 1
push 0x262
push edi
call fcn.0058d7b0
push 0
push edi
call fcn.0058d2b0
add esp, 0x40
mov ebp, eax
push 0
push 1
push 8
push 0x8d
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
jmp 0x576919
xor ebp, ebp
push 1
push ebx
call fcn.0056d330
push 0
push 2
push 0
push 0x8b
push 0x20
push edi
call fcn.0058d570
push 0x22
push edi
call fcn.0058d2b0
add esp, 0x28
test eax, eax
je 0x57695a
mov edx, dword [esp + 0x48]
test edx, edx
je 0x57695a
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 0x57697a
push edi
call fcn.0058d340
add esp, 4
test eax, eax
je 0x57697a
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.0058d340
add esp, 4
mov dword [esi + 0x14], eax
push ebx
call fcn.0057d110
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 0x5769ae
push 1
push ebx
call fcn.0056d330
add esp, 8
push 0
push 2
push ebp
push dword [esp + 0x28]
push 0x20
push edi
call fcn.0058d570
push edi
call fcn.0058d340
add esp, 0x1c
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x28]
test eax, eax
je case.0x575fc0.35
push 0
push 2
push eax
push 0x8d
jmp 0x576f5f
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x5769f9
push 2
push ebx
call fcn.0056d330
add esp, 8
push 0
push 2
push ebp
mov ebp, dword [esp + 0x28]
push ebp
push 0x20
push edi
call fcn.0058d570
mov eax, dword [esp + 0x48]
inc eax
push eax
push 0x40
push dword [esp + 0x5c]
push ebp
push 0x20
push edi
call fcn.0058d570
push edi
call fcn.0058d340
add esp, 0x34
jmp 0x576078
mov ebp, dword [esp + 0x24]
test ebp, ebp
jne 0x576a41
push 1
push ebx
call fcn.0056d330
add esp, 8
push 0
push 2
push ebp
push dword [esp + 0x28]
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
cmp word [esp + 0x10], 0x25
jne 0x57606f
push 1
lea eax, [esi + 0x18]
push eax
push dword [esp + 0x34]
push dword [esp + 0x2c]
push ebx
call fcn.005739b0
add esp, 0x14
jmp 0x57606f
cmp word [esp + 0x20], 0xd
jne 0x576ac2
cmp dword [ebx + 0x128], 0
jne 0x576ac2
push 0
push 0xc
push 0
push 2
push 0x20
push edi
call fcn.0058d570
push ebx
call fcn.0058a420
mov eax, dword [esp + 0x44]
add esp, 0x1c
test eax, eax
je case.0x575fc0.35
push 0
push 0xc
push eax
push 0x8d
jmp 0x576f5f
cmp dword [ebx + 0x124], 0
je 0x576b6f
push 0
push 2
push dword [esp + 0x20]
push ebp
push 0x20
push edi
call fcn.0058d570
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.0057df20
push edi
call fcn.0058d340
push 0
mov esi, eax
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x58]
push dword [esp + 0x50]
push ebx
call fcn.005739b0
push 0
push 2
push dword [esp + 0x58]
push ebp
push 0x20
push edi
call fcn.0058d570
add esp, 0x50
push esi
push ebx
call fcn.0057e0c0
push edi
call fcn.0058d340
mov edx, dword [esp + 0x20]
add esp, 0xc
mov esi, eax
test edx, edx
je 0x576b56
mov ecx, dword [edx]
test ecx, ecx
je 0x576b4f
test esi, esi
je 0x576b4f
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 0x576b36
push dword [esp + 0x18]
push ebp
push 0
push 2
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
jmp 0x5769cb
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.0057df20
push edi
call fcn.0058d340
push 0
mov esi, eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x40]
push dword [esp + 0x38]
push ebx
call fcn.005739b0
push esi
push ebx
call fcn.0057e0c0
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push edi
call fcn.0058d7b0
add esp, 0x48
push edi
call fcn.0058d340
mov edx, dword [esp + 0x3c]
add esp, 4
mov esi, eax
test edx, edx
je 0x576be8
mov ecx, dword [edx]
test ecx, ecx
je 0x576be1
test esi, esi
je 0x576be1
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 0x576bc8
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x62
push edi
call fcn.0058d7b0
push edi
call fcn.0058d340
mov edx, dword [esp + 0x38]
add esp, 0x24
mov esi, eax
test edx, edx
je 0x5769cb
mov ecx, dword [edx]
test ecx, ecx
je 0x576c2c
test esi, esi
je 0x576c2c
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 0x576c13
jmp 0x5769cb
cmp dword [ebx + 0x124], 0
je 0x576d1d
push 0
push 2
push 0xc
push 0x8d
push 0x20
push edi
call fcn.0058d570
push dword [esp + 0x48]
push 0x40
push dword [esp + 0x38]
push ebp
push 0x20
push edi
call fcn.0058d570
lea eax, [esp + 0x44]
push eax
push ebx
call fcn.0057df20
push edi
call fcn.0058d340
push 0
mov esi, eax
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x70]
push dword [esp + 0x68]
push ebx
call fcn.005739b0
add esp, 0x50
push 0
push 2
push 0xc
push 0x8d
push 0x20
push edi
call fcn.0058d570
mov eax, dword [esp + 0x30]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.0058d7b0
push 0
push edi
call fcn.0058d2b0
add esp, 0x40
push eax
lea eax, [esp + 0x18]
push eax
push edi
call fcn.0056d300
push esi
push ebx
call fcn.0057e0c0
push edi
call fcn.0058d340
mov edx, dword [esp + 0x2c]
add esp, 0x18
mov esi, eax
test edx, edx
je 0x576d11
mov ecx, dword [edx]
test ecx, ecx
je 0x576d0a
test esi, esi
je 0x576d0a
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 0x576cf1
push 0xc
push 0x8d
jmp 0x576f5b
cmp word [esp + 0x20], 0xd
jne 0x576dd1
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.0058d7b0
add esp, 0x20
cmp dword [ebx + 0x68], 1
push 0
push 0xc
push 0
push 2
jne 0x576d84
push 0x1062
push edi
call fcn.0058dba0
push 0
push 0xc
push 2
push 4
push edi
call fcn.0058be00
add esp, 0x2c
push ebx
call fcn.0057d110
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.0058bf60
push ebx
mov esi, eax
call fcn.0058a420
push edi
call fcn.0058d340
add esp, 0x20
test esi, esi
je case.0x575fc0.35
test eax, eax
je case.0x575fc0.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.0057d110
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.0058d570
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.0057df20
push edi
call fcn.0058d340
push 0
mov esi, eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x58]
push dword [esp + 0x50]
push ebx
call fcn.005739b0
mov eax, dword [esp + 0x50]
push 1
push 0x40
push eax
push ebp
push eax
push ebp
push 0x262
push edi
call fcn.0058d7b0
add esp, 0x58
push 0
push edi
call fcn.0058d2b0
push eax
lea eax, [esp + 0x20]
push eax
push edi
call fcn.0056d300
push esi
push ebx
call fcn.0057e0c0
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push edi
call fcn.0058d7b0
push edi
call fcn.0058d340
mov edx, dword [esp + 0x78]
add esp, 0x40
mov esi, eax
test edx, edx
je 0x576e88
mov ecx, dword [edx]
test ecx, ecx
je 0x576e81
test esi, esi
je 0x576e81
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 0x576e68
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x62
push edi
call fcn.0058d7b0
push edi
call fcn.0058d340
mov edx, dword [esp + 0x38]
add esp, 0x24
mov esi, eax
test edx, edx
je case.0x575fc0.35
mov ecx, dword [edx]
test ecx, ecx
je 0x576ecc
test esi, esi
je 0x576ecc
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 0x576eb3
push ebx
call fcn.0057d110
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.0058d570
push 1
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x44]
push ebx
call fcn.005739b0
push 0
push 2
push esi
push ebp
push 0x20
push edi
call fcn.0058d570
add esp, 0x44
push edi
call fcn.0058d340
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x48], eax
test edx, edx
je 0x576f59
mov ecx, dword [edx]
test ecx, ecx
je 0x576f52
test eax, eax
je 0x576f52
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 0x576f35
push esi
push ebp
push 0
push 2
push 0x20
push edi
call fcn.0058d570
add esp, 0x18
push ebx
call fcn.0057d110
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