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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x533abd
sub esp, 0xf8
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x53167f
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5315cb
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x531644
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x531675
mov dword [edx + 0x50], eax
jmp 0x531627
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531627
mov eax, dword [esp + 0x100]
cmp byte [eax], 0x6e
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x114]
mov dword [esp + 8], ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.0052e570
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
test ebx, ebx
jne 0x533a29
test ebp, ebp
je 0x531b90
mov eax, dword [esp + 0x100]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x5319f3
movzx edx, byte [esp + 0x118]
test dl, dl
jne 0x531893
cmp cl, 0x66
jne 0x531865
lea eax, [0x7e3472]
mov ecx, 4
mov dword [esp + 0x44], ecx
mov dword [esp + 0xa4], eax
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0xa976a0]
test eax, eax
jne 0x531854
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x531838
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x5317f7
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], eax
lea ecx, [0x871320]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x53182e
mov dword [edx + 0x50], eax
jmp 0x5317da
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x5317da
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov edi, edx
jmp 0x5317be
mov eax, dword [esp + 0xa4]
call fcn.0045c3e0
jmp 0x53179f
cmp cl, 0x6e
jne 0x53187a
lea eax, [0x7e36a6]
mov ecx, 4
jmp 0x53171e
cmp cl, 0x74
je 0x531713
lea eax, [0x7e51f9]
mov ecx, 6
jmp 0x53171e
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x53193f
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x5319b8
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x5319e9
mov dword [edx + 0x50], eax
jmp 0x53199b
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x53199b
mov dword [esp + 0xa8], edi
mov dword [esp + 0x48], ebp
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00534290
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x531b54
movzx eax, byte [esp + 0x118]
test al, al
je 0x533aa4
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x531af1
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0xa8]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp + 0xc0], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0xbc], edx
mov ebx, dword [esp + 0x100]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x533832
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x532fa0
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
jne 0x5321c7
movzx esi, byte [esp + 0x118]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5321bb
mov edi, dword [esp + 0x104]
cmp edi, 4
je 0x5321aa
cmp edi, 5
je 0x531d43
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x531c8f
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x531d08
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x531d39
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
cmp dword [ebx], 0x736c6166
jne 0x531bf8
cmp byte [ebx + 4], 0x65
jne 0x531bf8
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
nop
nop
and ecx, 0x1f
cmp ecx, 1
je 0x53218b
cmp ecx, 0x14
je 0x531faf
xchg esi, eax
test al, al
xchg esi, eax
je 0x531ec2
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x531e21
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x531ceb
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x531eb5
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x7e3472]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x531f9a
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x531ceb
mov dword [esp], ecx
lea edx, [0x871320]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x531f8d
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov eax, ecx
jmp 0x531f33
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
call fcn.00485ea0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x532090
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0xa518e0]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0xa80ca8]
test cl, cl
je 0x532088
lea ecx, [0x7875e0]
mov dword [0xa80cac], ecx
mov edx, dword [0xa976a0]
test edx, edx
jne 0x53207b
mov dword [0xa80cb0], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x532073
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x532040
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00486c20
jmp 0x531ceb
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x532040
lea edi, [0xa80cb0]
call fcn.0045c3e0
jmp 0x532012
lea ecx, [0x7875e0]
jmp 0x532012
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x7e3472]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532176
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x531ceb
mov dword [esp], ecx
lea edx, [0x871320]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532169
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov eax, ecx
jmp 0x53210f
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.00486d30
jmp 0x531ceb
cmp dword [ebx], 0x65757274
jne 0x531bef
jmp 0x531d59
mov edi, dword [esp + 0x104]
jmp 0x531d59
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
je 0x5322ec
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x5322ec
movzx ebp, byte [esp + 0x118]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x533a6f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x532289
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp], 0
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.00446790
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
nop
mov edx, dword [esp + 0x74]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x532af4
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x532856
cmp edx, 7
jae 0x5325f2
cmp edx, 0x18
je 0x53258f
xor edx, edx
test dl, dl
jne 0x532564
movzx eax, byte [esp + 0x118]
test al, al
je 0x53246d
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x53240a
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e51f9]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x53254f
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x531ceb
mov dword [esp], ecx
lea edx, [0x871320]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532542
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov eax, ecx
jmp 0x5324e8
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00487950
jmp 0x531ceb
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00488110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp dword [0xa80010], eax
je 0x5325d5
xor eax, eax
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0xac]
jmp 0x53234d
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0xa80014]
mov dword [esp + 8], eax
call fcn.00403830
movzx eax, byte [esp + 0xc]
jmp 0x5325bf
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00467bc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x532776
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x7e645f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.00446610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x53276c
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532753
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x531ceb
mov dword [esp], eax
lea ecx, [0x871320]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532746
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov edi, edx
jmp 0x5326ec
call fcn.0045c3e0
jmp 0x5326d1
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
lea ebp, [ebx - 0x20]
mov dword [esp + 0x70], ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x6c], edi
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x68], edx
cmp ebx, 0x20
sbb edx, edx
mov ecx, esi
shl eax, cl
mov ecx, ebp
mov esi, dword [esp + 0x38]
shr esi, cl
and esi, edi
mov ecx, ebx
mov edi, dword [esp + 0x3c]
shl edi, cl
and edi, edx
or edi, esi
mov esi, dword [esp + 0x68]
and eax, esi
or eax, edi
mov edi, eax
shr eax, cl
and eax, edx
mov esi, dword [esp + 0x3c]
cmp esi, eax
setne al
mov esi, dword [esp + 0x38]
shl esi, cl
and esi, edx
mov ecx, ebp
mov ebp, edi
shl edi, cl
mov ecx, ebx
shr esi, cl
and esi, edx
mov edx, dword [esp + 0x6c]
and edi, edx
or edi, esi
mov ecx, dword [esp + 0x70]
shr ebp, cl
mov edx, dword [esp + 0x68]
and ebp, edx
or edi, ebp
mov edx, dword [esp + 0x38]
cmp edi, edx
setne bl
or ebx, eax
test bl, bl
jne 0x532622
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
call fcn.00487760
jmp 0x531ceb
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00468390
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x5329da
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x7e645f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.00446610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x5329d0
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x5329b7
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x531ceb
mov dword [esp], eax
lea ecx, [0x871320]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x5329aa
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov edi, edx
jmp 0x532950
call fcn.0045c3e0
jmp 0x532935
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
mov dword [esp + 0x7c], ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x70], ebp
lea esi, [ebx - 0x20]
mov dword [esp + 0x6c], esi
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x68], esi
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x64], edx
cmp edi, 0x20
sbb ebp, ebp
shr ebx, 5
cmp ebx, 1
sbb ebx, ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x20
sbb edx, edx
mov dword [esp + 0x7c], edx
mov ecx, edi
shl eax, cl
mov ecx, esi
mov edx, dword [esp + 0x34]
shr edx, cl
mov ecx, ebx
mov esi, dword [esp + 0x40]
shl esi, cl
and eax, ebp
mov edi, dword [esp + 0x64]
and edx, edi
mov edi, dword [esp + 0x70]
and esi, edi
or esi, edx
or esi, eax
mov eax, dword [esp + 0x34]
shl eax, cl
and eax, edi
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edx, dword [esp + 0x6c]
or ebp, edx
mov ecx, dword [esp + 0x68]
mov edx, esi
shl esi, cl
mov ecx, ebx
shr eax, cl
and eax, edi
mov edi, dword [esp + 0x64]
and esi, edi
or esi, eax
mov ecx, ebp
mov eax, edx
sar edx, cl
mov ebp, dword [esp + 0x60]
xor ebp, 0xffffffff
and ebp, edx
or ebp, esi
mov edx, dword [esp + 0x34]
cmp ebp, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov ecx, dword [esp + 0x7c]
not ecx
or ecx, ebx
sar eax, cl
mov ebx, dword [esp + 0x40]
cmp ebx, eax
setne al
or eax, ebp
test al, al
jne 0x532886
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004871f0
jmp 0x531ceb
cmp edx, 0xe
jbe 0x532d83
cmp edx, 0x14
jne 0x532342
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00531320
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test edx, edx
je 0x532b85
nop
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x531ceb
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532b78
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
call fcn.00485ea0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x532c88
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x532c80
nop
movzx edx, byte [0xa80ca8]
test dl, dl
je 0x532c74
mov dword [0xa80cac], ecx
mov edx, dword [0xa976a0]
test edx, edx
jne 0x532c60
mov eax, dword [esp + 0xa0]
mov dword [0xa80cb0], eax
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x532c58
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x532c25
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00486c20
jmp 0x531ceb
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x532c25
lea edi, [0xa80cb0]
mov eax, dword [esp + 0xa0]
call fcn.0045c3e0
jmp 0x532bf7
mov eax, dword [esp + 0xa0]
jmp 0x532bf7
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x532c25
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e51f9]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532d6e
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x531ceb
mov dword [esp], ecx
lea edx, [0x871320]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532d61
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov eax, ecx
jmp 0x532d07
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00488110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00467580
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x532f3a
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x7e645f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.00446610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532f30
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532f17
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x531ceb
mov dword [esp], eax
lea ecx, [0x871320]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x532f0a
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov edi, edx
jmp 0x532eb0
call fcn.0045c3e0
jmp 0x532e95
mov eax, dword [esp + 0x5c]
cmp eax, 0xd
jne 0x532f79
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x532f59
movsd xmm1, qword [0x869fc8]
pxor xmm0, xmm1
movsd xmm1, qword [0x869f98]
ucomisd xmm0, xmm1
jbe 0x532f79
movsd xmm1, qword [0x869fc0]
ucomisd xmm1, xmm0
jae 0x532de6
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487130
jmp 0x531ceb
mov dword [esp], ebx
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 8], ecx
call fcn.00534290
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x18]
mov ebx, dword [esp + 0x14]
test dl, dl
je 0x533716
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x4c], eax
nop
nop
mov edx, dword [esp + 0x74]
mov ebp, edx
and edx, 0x1f
cmp edx, 0x14
je 0x533510
cmp edx, 0x17
je 0x533287
cmp edx, 0x18
jne 0x533190
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00488110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp dword [0xa80010], eax
je 0x533127
xor eax, eax
test al, al
jne 0x533086
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.00446790
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487950
jmp 0x531ceb
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 8], eax
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
lea eax, [0x803c3b]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0xa80014]
mov dword [esp + 8], eax
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x53314d
xor eax, eax
jmp 0x53303c
lea eax, [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call fcn.00446790
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00537150
movzx eax, byte [esp + 8]
xor eax, 1
jmp 0x53303c
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e54b7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x533272
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x531ceb
mov dword [esp], ecx
lea edx, [0x871320]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x533265
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov eax, ecx
jmp 0x53320b
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00488110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x533415
mov eax, dword [0xa7f26c]
cmp dword [eax + 0x140], 0xffffffff
jne 0x533406
mov eax, dword [esp + 0x4c]
lea ecx, [eax + eax*2]
mov edx, ecx
shl ecx, 1
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx*2]
sar ecx, 3
mov dword [esp + 0x58], ecx
lea eax, [0x78aca0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00443100
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb4], eax
mov ecx, dword [0xa7f26c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
call fcn.0052cf00
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
je 0x5333c0
nop
mov ecx, dword [esp + 0xfc]
mov ebx, dword [ecx + 0x4c]
test ebx, ebx
jne 0x531ceb
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x5333b3
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x533a87
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00486e00
jmp 0x531ceb
mov eax, dword [esp + 0x4c]
shr eax, 2
lea ecx, [eax + eax*2]
jmp 0x5332fe
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e54b7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x5334fb
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x531ceb
mov dword [esp], ecx
lea edx, [0x871320]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x5334ee
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov eax, ecx
jmp 0x533494
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00485ea0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x53361b
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.00446790
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408d50
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0xa80ca8]
test cl, cl
je 0x533613
lea ecx, [0x78aa20]
mov dword [0xa80cac], ecx
mov edx, dword [0xa976a0]
test edx, edx
jne 0x533606
mov dword [0xa80cb0], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x5335fe
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5335cb
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00486c20
jmp 0x531ceb
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5335cb
lea edi, [0xa80cb0]
call fcn.0045c3e0
jmp 0x53359d
lea ecx, [0x78aa20]
jmp 0x53359d
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7bb380]
mov dword [esp], ebp
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e54b7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x533701
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x531ceb
mov dword [esp], ecx
lea edx, [0x871320]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x5336f4
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c3e0
mov eax, ecx
jmp 0x53369a
movzx eax, byte [esp + 0x118]
test al, al
je 0x533a8c
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5337cf
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
xchg ebp, eax
cmp al, 0x6e
xchg ebp, eax
jne 0x533a19
movzx ebp, byte [esp + 0x118]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5339a3
mov ebp, dword [esp + 0x104]
cmp ebp, 4
je 0x533997
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00488110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408dd0
mov eax, dword [esp + 0xc]
lea ecx, [0x777aa0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5338f6
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x80445b]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x531ceb
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052dea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x53398a
mov dword [edx + 0x50], eax
jmp 0x531ceb
lea edi, [edx + 0x50]
call fcn.0045c3e0
jmp 0x531ceb
cmp dword [ebx], 0x6c6c756e
jne 0x53385f
nop
mov ebx, ecx
and ecx, 0x1f
add ecx, 0xffffffec
nop
cmp ecx, 3
ja 0x531ceb
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00488110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00488ef0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00486c20
jmp 0x531ceb
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
je 0x531bcd
jmp 0x5321c7
mov eax, dword [ebx + 0x10]
mov dword [esp], esi
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
lea eax, [0x78aa20]
mov dword [esp], eax
lea eax, [0x86a910]
mov dword [esp + 4], eax
call fcn.00430ca0
call fcn.0045c4a0
lea eax, [0x78aa20]
mov dword [esp], eax
lea eax, [0x86a908]
mov dword [esp + 4], eax
call fcn.00430ca0
lea eax, [0x78aa20]
mov dword [esp], eax
lea eax, [0x86a9b8]
mov dword [esp + 4], eax
call fcn.00430ca0
nop
call fcn.0045ae90
jmp fcn.005314f0