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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa0]
cmp eax, dword [ecx + 8]
jbe 0x5603ed
sub esp, 0x120
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
test ecx, ecx
jne 0x560173
movzx ebx, byte [eax + 0x20]
test bl, bl
jne 0x560173
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00409140
mov eax, dword [esp + 8]
lea ecx, [0x5beac0]
mov edx, 0x15
lea ebx, [0x5f1652]
test ecx, ecx
je 0x5600bb
nop
movzx ebp, byte [0x753128]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x55e90b
mov dword [0x75312c], ecx
mov ebp, dword [0x770e60]
test ebp, ebp
jne 0x5600ab
mov dword [0x753130], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov ebp, dword [esp + 0xe8]
test ebp, ebp
je 0x5600a0
nop
movzx esi, byte [ebp + 0xf]
mov edi, esi
and esi, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x55e955
or esi, 0x80
mov dword [esp + 0x4c], esi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ebp
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov edx, dword [esp + 0x130]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x134]
mov dword [esp + 8], ebx
call fcn.00488490
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xe0], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x4c]
mov dword [esp + 8], ebp
call fcn.00488490
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe4]
cmp dword [esp + 0xc], ecx
je 0x56002a
mov edx, dword [esp + 0x134]
test edx, 0x100
jne 0x55fec0
nop
mov ebx, edx
and edx, 0x1f
cmp edx, 0xe
ja 0x55f82b
cmp edx, 6
ja 0x55f162
cmp edx, 1
jne 0x55eab9
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55ea63
cmp dword [eax + 8], 0x13ff06c5
jne 0x55ea63
lea ecx, [0x5bd780]
cmp eax, ecx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov byte [esp + 0xc], al
call fcn.00487700
mov byte [esp + 0x138], 1
add esp, 0x120
ret
mov eax, dword [esp + 0x124]
mov dword [esp], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
call fcn.0055d980
mov byte [esp + 0x138], 0
add esp, 0x120
ret
cmp edx, 2
jb 0x55ea63
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55ea63
mov edx, dword [eax + 8]
cmp edx, 0x86318d2e
ja 0x55eddb
cmp edx, 0x2ea27ffb
jne 0x55ec63
lea ecx, [0x5bd9c0]
cmp eax, ecx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [eax]
movsd xmm1, qword [0x637ab0]
ucomisd xmm1, xmm0
jb 0x55ea63
movsd qword [esp + 0x88], xmm0
movsd qword [esp], xmm0
call fcn.00455200
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax]
shl ecx, 3
add ecx, 0xffffffc0
neg ecx
mov dword [esp + 0x7c], ecx
cmp ecx, 0x20
sbb edx, edx
lea ebx, [ecx - 0x20]
mov dword [esp + 0x78], ebx
mov ebp, ebx
neg ebx
cmp ebx, 0x20
sbb esi, esi
mov dword [esp + 0x74], esi
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x70], edi
shr ecx, 5
cmp ecx, 1
sbb ecx, ecx
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x7c]
cmp eax, 0x20
sbb ecx, ecx
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
mov esi, dword [esp + 8]
mov dword [esp + 0x64], esi
mov ecx, ebp
shl esi, cl
and esi, edi
mov ecx, eax
mov ebp, dword [esp + 0x68]
shl ebp, cl
and ebp, edx
mov ecx, ebx
mov edi, dword [esp + 0x64]
shr edi, cl
mov ecx, dword [esp + 0x74]
and edi, ecx
or edi, ebp
or esi, edi
mov ebp, ecx
mov ecx, eax
mov edi, dword [esp + 0x64]
shl edi, cl
and edi, edx
mov ecx, ebx
mov ebx, esi
shl esi, cl
mov ecx, eax
shr edi, cl
and edi, edx
and esi, ebp
or esi, edi
mov edx, dword [esp + 0x70]
not edx
mov ebp, dword [esp + 0x78]
or edx, ebp
mov ecx, edx
mov ebp, ebx
sar ebx, cl
mov ecx, dword [esp + 0x6c]
xor ecx, 0xffffffff
and ebx, ecx
or ebx, esi
mov ecx, dword [esp + 0x64]
cmp ecx, ebx
setne cl
mov edx, dword [esp + 0x7c]
not edx
or eax, edx
mov edx, ecx
mov ecx, eax
sar ebp, cl
mov eax, dword [esp + 0x68]
cmp ebp, eax
setne al
or eax, edx
test al, al
je 0x55ec0c
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
movsd xmm0, qword [esp + 0x88]
movsd qword [esp], xmm0
call fcn.00455200
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov edx, dword [esp + 0x130]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x134]
mov dword [esp + 8], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.00487af0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0x86318d2e
jne 0x55ea63
lea edx, [0x5bec40]
cmp eax, edx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
mov edx, dword [eax + 4]
cmp edx, 0x7fffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setb bl
xchg esi, ebx
mov eax, dword [eax]
cmp eax, 0xffffffff
xchg edi, ebx
setbe bl
xchg edi, ebx
and ebp, edi
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x55ed93
mov dword [esp + 0x2c], eax
mov dword [esp + 0x78], edx
mov ebp, dword [esp + 0x12c]
mov esi, dword [ebp]
shl esi, 3
add esi, 0xffffffc0
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x7c], esi
cmp esi, 0x20
sbb edi, edi
lea ecx, [esi - 0x20]
mov dword [esp + 0x74], ecx
neg ecx
mov dword [esp + 0x70], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0x74]
cmp ebp, 0x20
sbb ebp, ebp
mov dword [esp + 0x68], ebp
shr esi, 5
cmp esi, 1
sbb esi, esi
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x7c]
cmp esi, 0x20
sbb ebp, ebp
mov dword [esp + 0x7c], ebp
shr eax, cl
and eax, ebx
mov ecx, esi
shl edx, cl
and edx, edi
or edx, eax
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x2c]
shl eax, cl
mov ebp, dword [esp + 0x68]
and eax, ebp
or eax, edx
mov edx, ecx
mov ecx, esi
mov ebx, dword [esp + 0x2c]
shl ebx, cl
and ebx, edi
xchg ebp, ebx
not ebx
xchg ebp, ebx
or edx, ebp
mov ecx, edx
mov ebp, eax
sar eax, cl
mov edx, dword [esp + 0x64]
xor edx, 0xffffffff
and eax, edx
mov ecx, esi
shr ebx, cl
and ebx, edi
mov ecx, dword [esp + 0x70]
mov edx, ebp
shl ebp, cl
mov edi, dword [esp + 0x6c]
and ebp, edi
or ebx, ebp
or eax, ebx
mov ebx, dword [esp + 0x2c]
cmp eax, ebx
setne al
mov ecx, dword [esp + 0x7c]
not ecx
or ecx, esi
sar edx, cl
mov ebp, dword [esp + 0x78]
cmp edx, ebp
setne dl
or edx, eax
test dl, dl
je 0x55ed9f
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ebx
call fcn.00487af0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0x963f9bff
jne 0x55ef1a
lea edx, [0x5be340]
cmp eax, edx
jne 0x55ea63
mov eax, dword [esp + 0x12c]
mov edx, dword [eax]
shl edx, 3
add edx, 0xffffffc0
neg edx
mov dword [esp + 0x7c], edx
cmp edx, 0x20
sbb ebp, ebp
lea ecx, [edx - 0x20]
mov dword [esp + 0x78], ecx
mov esi, ecx
neg ecx
mov dword [esp + 0x74], ecx
cmp ecx, 0x20
sbb edi, edi
cmp esi, 0x20
sbb ebx, ebx
mov dword [esp + 0x70], ebx
shr edx, 5
cmp edx, 1
sbb edx, edx
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x7c]
cmp eax, 0x20
sbb edx, edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xb0]
mov ebx, dword [edx]
mov dword [esp + 0x28], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x38], edx
shr ebx, cl
and ebx, edi
mov ecx, eax
shl edx, cl
and edx, ebp
or edx, ebx
mov ecx, esi
mov ebx, dword [esp + 0x28]
shl ebx, cl
mov esi, dword [esp + 0x70]
and ebx, esi
or ebx, edx
mov edx, dword [esp + 0x7c]
not edx
or edx, eax
mov ecx, edx
mov edx, ebx
sar ebx, cl
mov esi, dword [esp + 0x38]
cmp ebx, esi
setne bl
mov ecx, eax
mov esi, dword [esp + 0x28]
shl esi, cl
and esi, ebp
shr esi, cl
and esi, ebp
mov ecx, dword [esp + 0x74]
mov eax, edx
shl edx, cl
and edx, edi
or esi, edx
mov ecx, dword [esp + 0x70]
not ecx
mov edx, dword [esp + 0x78]
or ecx, edx
sar eax, cl
mov edx, dword [esp + 0x6c]
xor edx, 0xffffffff
and eax, edx
or eax, esi
mov edx, dword [esp + 0x28]
cmp eax, edx
setne al
or ebx, eax
test bl, bl
je 0x55eeda
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.00487af0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0xe0ff5cb4
jne 0x55f007
lea ecx, [0x5beac0]
cmp ecx, eax
jne 0x55ea63
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov dword [esp + 0xcc], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov ebp, dword [esp + 0x130]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00488490
mov eax, dword [esp + 0xc]
mov ecx, dword [0x752adc]
mov edx, dword [esp + 0x10]
cmp dword [0x752ad8], eax
je 0x55ef8b
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004037a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x55ef7f
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004a7600
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x55ef7f
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
call fcn.00487af0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0xf75371fa
jne 0x55ea63
lea edx, [0x5be280]
cmp eax, edx
jne 0x55ea63
mov eax, dword [esp + 0x12c]
mov edx, dword [eax]
shl edx, 3
add edx, 0xffffffc0
neg edx
mov dword [esp + 0x7c], edx
cmp edx, 0x20
sbb ebp, ebp
mov dword [esp + 0x78], ebp
lea ecx, [edx - 0x20]
mov dword [esp + 0x74], ecx
cmp ecx, 0x20
sbb esi, esi
mov edi, ecx
neg ecx
mov dword [esp + 0x70], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x6c], ebx
shr edx, 5
cmp edx, 1
sbb edx, edx
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x7c]
cmp eax, 0x20
sbb edx, edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xb0]
mov edx, dword [edx]
mov dword [esp + 0x60], edx
sar edx, 0x1f
mov dword [esp + 0x34], edx
mov ecx, edi
mov ebp, dword [esp + 0x60]
shl ebp, cl
and ebp, esi
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x60]
shr edi, cl
and edi, ebx
mov ecx, eax
shl edx, cl
mov ebx, dword [esp + 0x78]
and edx, ebx
or edx, edi
or ebp, edx
mov edx, dword [esp + 0x60]
shl edx, cl
and edx, ebx
xchg esi, ebx
not ebx
xchg esi, ebx
mov edi, dword [esp + 0x74]
or edi, esi
mov ecx, edi
mov esi, ebp
sar ebp, cl
mov edi, dword [esp + 0x68]
xor edi, 0xffffffff
and ebp, edi
mov ecx, dword [esp + 0x70]
mov edi, esi
shl esi, cl
mov ecx, edi
mov edi, dword [esp + 0x6c]
and esi, edi
mov edi, ecx
mov ecx, eax
shr edx, cl
and edx, ebx
or esi, edx
or ebp, esi
mov edx, dword [esp + 0x60]
cmp edx, ebp
setne bl
mov ebp, dword [esp + 0x7c]
xchg ebp, ebx
not ebx
xchg ebp, ebx
or eax, ebp
mov ecx, eax
sar edi, cl
mov eax, dword [esp + 0x34]
cmp edi, eax
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x55f126
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.00487af0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0xc
ja 0x55f679
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55ea63
mov edx, dword [eax + 8]
cmp edx, 0x86318d2e
ja 0x55f401
cmp edx, 0x2ea27ffb
jne 0x55f2e8
lea ecx, [0x5bd9c0]
cmp eax, ecx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [eax]
movsd xmm1, qword [0x637ab8]
ucomisd xmm1, xmm0
jb 0x55ea63
movsd qword [esp + 0x80], xmm0
movsd qword [esp], xmm0
call fcn.00455250
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax]
shl ecx, 3
add ecx, 0xffffffc0
neg ecx
mov dword [esp + 0x7c], ecx
lea edx, [ecx - 0x20]
mov dword [esp + 0x78], edx
cmp edx, 0x20
sbb ebx, ebx
mov dword [esp + 0x74], ebx
mov ebp, edx
neg edx
cmp edx, 0x20
sbb esi, esi
mov dword [esp + 0x70], esi
cmp ecx, 0x20
sbb edi, edi
mov eax, dword [esp + 8]
mov dword [esp + 0x6c], eax
mov esi, dword [esp + 0xc]
mov dword [esp + 0x68], esi
mov ecx, ebp
shl eax, cl
mov ecx, dword [esp + 0x7c]
shl esi, cl
and eax, ebx
and esi, edi
mov ecx, edx
mov ebx, dword [esp + 0x6c]
shr ebx, cl
mov ebp, dword [esp + 0x70]
and ebx, ebp
or ebx, esi
or eax, ebx
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
mov esi, ebx
shl ebx, cl
and ebx, edi
mov ecx, edx
mov edx, eax
shl eax, cl
mov ecx, dword [esp + 0x78]
shr edx, cl
mov ecx, dword [esp + 0x74]
and edx, ecx
and eax, ebp
mov ecx, dword [esp + 0x7c]
shr ebx, cl
and ebx, edi
or eax, ebx
or eax, edx
cmp esi, eax
setne al
mov edx, dword [esp + 0x70]
shr edx, cl
and edx, edi
mov ecx, dword [esp + 0x68]
cmp ecx, edx
setne cl
or ecx, eax
test cl, cl
je 0x55f291
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
movsd xmm0, qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.00455250
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov edx, dword [esp + 0x130]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x134]
mov dword [esp + 8], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.00487f70
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0x86318d2e
jne 0x55ea63
lea edx, [0x5bec40]
cmp eax, edx
jne 0x55ea63
mov eax, dword [esp + 0x12c]
mov edx, dword [eax]
shl edx, 3
add edx, 0xffffffc0
neg edx
mov dword [esp + 0x7c], edx
cmp edx, 0x20
sbb ebp, ebp
lea ecx, [edx - 0x20]
mov dword [esp + 0x78], ecx
cmp ecx, 0x20
sbb esi, esi
mov dword [esp + 0x74], esi
mov edi, ecx
neg ecx
mov dword [esp + 0x70], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov eax, dword [esp + 0xb0]
mov esi, dword [eax]
mov dword [esp + 0x24], esi
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
mov ecx, edi
shl esi, cl
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x24]
shr edi, cl
mov ecx, edx
shl eax, cl
and eax, ebp
and edi, ebx
or eax, edi
mov edi, dword [esp + 0x74]
and esi, edi
or esi, eax
mov dword [esp + 0x74], esi
mov eax, dword [esp + 0x24]
shl eax, cl
and eax, ebp
shr eax, cl
mov ecx, dword [esp + 0x78]
shr esi, cl
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
shl edx, cl
and esi, edi
and edx, ebx
and eax, ebp
or eax, edx
or esi, eax
mov eax, dword [esp + 0x24]
cmp eax, esi
setne dl
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x74]
shr ebx, cl
and ebx, ebp
mov ebp, dword [esp + 0x3c]
cmp ebp, ebx
setne bl
or ebx, edx
test bl, bl
je 0x55f3c5
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], eax
call fcn.00487f70
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0x963f9bff
jne 0x55f542
lea edx, [0x5be340]
cmp eax, edx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
mov edx, dword [eax + 4]
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
mov eax, dword [eax]
and ebp, 1
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x55f4fa
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], edx
mov ebp, dword [esp + 0x12c]
mov esi, dword [ebp]
shl esi, 3
add esi, 0xffffffc0
xchg esi, ebx
neg ebx
xchg esi, ebx
lea ecx, [esi - 0x20]
mov dword [esp + 0x78], ecx
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0x74], edi
cmp esi, 0x20
sbb ebx, ebx
neg ecx
mov dword [esp + 0x70], ecx
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x6c], ebp
shr eax, cl
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x30]
shl edi, cl
mov ecx, esi
shl edx, cl
and eax, ebp
and edx, ebx
or edx, eax
mov eax, dword [esp + 0x74]
and edi, eax
or edi, edx
mov dword [esp + 0x74], edi
mov edx, dword [esp + 0x30]
shl edx, cl
and edx, ebx
mov ecx, dword [esp + 0x78]
shr edi, cl
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
shl ebp, cl
mov ecx, esi
shr edx, cl
and edi, eax
and edx, ebx
mov eax, dword [esp + 0x6c]
and ebp, eax
or edx, ebp
or edi, edx
mov eax, dword [esp + 0x30]
cmp eax, edi
setne dl
mov ebp, dword [esp + 0x74]
shr ebp, cl
and ebp, ebx
mov ebx, dword [esp + 0x5c]
cmp ebx, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x55f506
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
call fcn.00487f70
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0xf75371fa
jne 0x55ea63
lea edx, [0x5be280]
cmp eax, edx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
test eax, eax
jl 0x55f631
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x12c]
mov ebp, dword [edx]
shl ebp, 3
add ebp, 0xffffffc0
xchg ebp, ebx
neg ebx
xchg ebp, ebx
lea ecx, [ebp - 0x20]
cmp ecx, 0x20
sbb esi, esi
mov dword [esp + 0x78], esi
mov edi, ecx
neg ecx
mov dword [esp + 0x74], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x70], ebx
cmp ebp, 0x20
sbb edx, edx
mov dword [esp + 0x6c], edx
sar eax, 0x1f
mov dword [esp + 0x5c], eax
mov ecx, edi
mov edx, dword [esp + 0x60]
shl edx, cl
mov ecx, ebp
shl eax, cl
and edx, esi
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x60]
shr esi, cl
and esi, ebx
mov ebx, dword [esp + 0x6c]
and eax, ebx
or eax, esi
or edx, eax
mov eax, ecx
mov ecx, ebp
mov esi, dword [esp + 0x60]
shl esi, cl
and esi, ebx
mov ecx, edi
mov edi, edx
shr edx, cl
mov ecx, ebx
mov ebx, dword [esp + 0x78]
and edx, ebx
mov ebx, ecx
mov ecx, ebp
shr esi, cl
mov ecx, eax
mov eax, edi
shl edi, cl
mov ecx, eax
mov eax, dword [esp + 0x70]
and edi, eax
and esi, ebx
or edi, esi
or edx, edi
mov eax, dword [esp + 0x60]
cmp edx, eax
setne dl
mov esi, ecx
mov ecx, ebp
shr esi, cl
and esi, ebx
mov ebx, dword [esp + 0x5c]
cmp esi, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x55f63d
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
call fcn.00487f70
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0xd
jb 0x55ea63
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55ea63
mov ecx, dword [eax + 8]
cmp ecx, 0x86318d2e
ja 0x55f763
cmp ecx, 0x2ea27ffb
jne 0x55f6f1
lea ecx, [0x5bd9c0]
cmp eax, ecx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
movsd qword [esp + 0xc], xmm0
call fcn.00487a30
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp ecx, 0x86318d2e
jne 0x55ea63
lea ecx, [0x5bec40]
cmp eax, ecx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00455370
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
movsd qword [esp + 0xc], xmm0
call fcn.00487a30
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp ecx, 0x963f9bff
jne 0x55f7d1
lea ecx, [0x5be340]
cmp eax, ecx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004552a0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
movsd qword [esp + 0xc], xmm0
call fcn.00487a30
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp ecx, 0xf75371fa
jne 0x55ea63
lea ecx, [0x5be280]
cmp eax, ecx
jne 0x55ea63
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
cvtsi2sd xmm0, eax
movsd qword [esp + 0xc], xmm0
call fcn.00487a30
mov byte [esp + 0x138], 1
add esp, 0x120
ret
cmp edx, 0x16
ja 0x55fc45
cmp edx, 0x14
jne 0x55fa12
mov ecx, dword [esp + 0x40]
cmp ecx, 0x1b
je 0x55f913
nop
movzx ecx, byte [0x753128]
test cl, cl
je 0x55f903
mov ecx, dword [esp + 0x20]
mov dword [0x75312c], ecx
mov edx, dword [0x770e60]
test edx, edx
jne 0x55f8ec
mov eax, dword [esp + 0xb0]
mov dword [0x753130], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0xf0]
test ecx, ecx
je 0x55f8e4
nop
movzx edx, byte [ecx + 0xf]
mov ebp, edx
and edx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x55f8ab
or edx, 0x80
mov ebp, dword [esp + 0x12c]
mov dword [esp], ebp
mov ebp, dword [esp + 0x130]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004875d0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x55f8ab
lea edi, [0x753130]
mov eax, dword [esp + 0xb0]
call fcn.0045df70
jmp 0x55f87b
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x20]
jmp 0x55f87b
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
lea eax, [0x5f4363]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402890
movzx eax, byte [esp + 0xc]
test al, al
jne 0x55f945
mov ebx, dword [esp + 0x134]
jmp 0x55f84a
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409140
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x753128]
test cl, cl
je 0x55fa07
lea ecx, [0x5beac0]
mov dword [0x75312c], ecx
mov edx, dword [0x770e60]
test edx, edx
jne 0x55f9fa
mov dword [0x753130], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x55f9f2
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x55f9bc
or edx, 0x80
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x134]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004875d0
jmp 0x55f8d5
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x55f9bc
lea edi, [0x753130]
call fcn.0045df70
jmp 0x55f98e
lea ecx, [0x5beac0]
jmp 0x55f98e
cmp edx, 0x16
jne 0x55ea63
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00488490
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 + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x110], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x114], ebx
mov ebp, dword [esp + 0x110]
test ebp, ebp
je 0x55fc3c
lea esi, [0x63cd44]
cmp esi, ecx
je 0x55fa8f
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004037a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x55fa83
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x134]
mov dword [esp + 8], edx
call fcn.00488490
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 dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004890d0
mov eax, dword [esp + 8]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xe0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x58], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00485c20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
nop
movzx ebx, byte [0x753128]
test bl, bl
je 0x55fc2c
mov ebx, dword [esp + 0x20]
mov dword [0x75312c], ebx
mov ebp, dword [0x770e60]
test ebp, ebp
jne 0x55fc0a
mov ebp, dword [esp + 0xb0]
mov dword [0x753130], ebp
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebp
mov ebx, dword [esp + 0xf8]
test ebx, ebx
je 0x55fc02
nop
movzx esi, byte [ebx + 0xf]
mov edi, esi
and esi, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x55fb94
or esi, 0x80
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.004875d0
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
call fcn.004875d0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
xor esi, esi
xor ebx, ebx
xor ebp, ebp
jmp 0x55fb94
lea edi, [0x753130]
mov ebp, eax
mov eax, dword [esp + 0xb0]
call fcn.0045df70
mov eax, ebp
mov ebp, dword [esp + 0xb0]
jmp 0x55fb60
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0xb0]
jmp 0x55fb60
xor esi, esi
xor ebp, ebp
jmp 0x55fa7f
cmp edx, 0x18
jne 0x55fd25
mov eax, dword [esp + 0x40]
cmp eax, 0x18
je 0x55fc99
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov edx, dword [esp + 0x130]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00488080
mov byte [esp + 0x138], 1
add esp, 0x120
ret
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
lea ecx, [0x5f2e68]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00402890
movzx eax, byte [esp + 0xc]
test al, al
je 0x55fd19
lea eax, [0x5beac0]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jne 0x56029f
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov edx, dword [esp + 0x130]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x134]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00488080
mov byte [esp + 0x138], 1
add esp, 0x120
ret
mov ebx, dword [esp + 0x134]
jmp 0x55fc57
cmp edx, 0x19
jne 0x55ea63
nop
movzx ecx, byte [0x753128]
test cl, cl
je 0x55feb0
mov ecx, dword [esp + 0x20]
mov dword [0x75312c], ecx
mov edx, dword [0x770e60]
test edx, edx
jne 0x55fe99
mov eax, dword [esp + 0xb0]
mov dword [0x753130], eax
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x108]
test ecx, ecx
je 0x55fe8e
nop
movzx edx, byte [ecx + 0xf]
mov ebp, edx
and edx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x55fd97
or edx, 0x80
mov dword [esp + 0x48], edx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xbc], ecx
mov ebp, dword [esp + 0x12c]
mov dword [esp], ebp
mov esi, dword [esp + 0x130]
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.00488490
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xe0], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
mov ebx, dword [esp + 0xc8]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], ebp
call fcn.00488490
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe4]
cmp dword [esp + 0xc], ecx
je 0x55fe1c
mov ebx, dword [esp + 0x134]
jmp 0x55ea63
mov dword [esp], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004037a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x55fe10
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
call fcn.004875d0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x55fd97
lea edi, [0x753130]
mov eax, dword [esp + 0xb0]
call fcn.0045df70
jmp 0x55fd63
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x20]
jmp 0x55fd63
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004851f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004862f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [0x5c3ce0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004095b0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test al, al
jne 0x55ff3a
mov edx, dword [esp + 0x134]
jmp 0x55e9ec
mov dword [esp + 0xd8], edx
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0x40]
cmp eax, 0x18
je 0x55ffbd
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004486d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x7c]
mov ebx, dword [ebx + 0x10]
mov ebp, dword [esp + 0xd8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5602b5
mov byte [esp + 0x138], 1
add esp, 0x120
ret
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
lea ecx, [0x5f2e68]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00402890
movzx eax, byte [esp + 0xc]
test al, al
je 0x55ff4e
lea eax, [0x5beac0]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jne 0x560307
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004486d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x55ff7b
mov dword [esp], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004037a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x55e9d9
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
call fcn.004875d0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
xor esi, esi
xor ebp, ebp
xor eax, eax
jmp 0x55e955
lea edi, [0x753130]
call fcn.0045df70
jmp 0x55e90b
nop
mov eax, dword [esp + 0x134]
mov ecx, eax
and eax, 0x1f
cmp eax, 0x15
jne 0x5600d5
test ecx, 0x100
je 0x560153
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov edx, dword [esp + 0x130]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00488490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00488ff0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x134]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004875d0
mov byte [esp + 0x138], 1
add esp, 0x120
ret
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0055e7a0
jmp 0x560144
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.00573260
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
cmp ebp, 0x18
je 0x5601b7
mov eax, ebx
mov ecx, edx
mov edx, ebp
mov ebx, esi
jmp 0x55e8db
mov dword [esp + 0x44], ebp
mov dword [esp + 0xb8], esi
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0xd8], eax
mov dword [esp], esi
lea eax, [0x5f2e68]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402890
movzx eax, byte [esp + 0xc]
test al, al
jne 0x560212
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xb8]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xd0]
jmp 0x5601aa
lea eax, [0x5beac0]
mov ecx, dword [esp + 0xd8]
cmp eax, ecx
jne 0x5603d6
mov eax, dword [0x751da0]
mov ecx, dword [esp + 0xd4]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0048d070
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x56031d
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00448580
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409140
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xb8]
lea edx, [0x5beac0]
jmp 0x5601aa
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5be3c0]
mov dword [esp + 8], eax
call fcn.00408df0
nop
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], edx
lea eax, [0x5c6180]
mov dword [esp], eax
lea eax, [esp + 0x118]
mov dword [esp + 4], eax
call fcn.00408f50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00431a00
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5be3c0]
mov dword [esp + 8], eax
call fcn.00408df0
nop
lea eax, [esp + 0x90]
mov dword [esp], eax
lea eax, [0x5ebdb3]
mov dword [esp + 4], eax
mov dword [esp + 8], 6
lea eax, [0x5f9732]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x2b
call fcn.00448400
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004bdd90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
lea eax, [0x5c6180]
mov dword [esp], eax
lea eax, [esp + 0x118]
mov dword [esp + 4], eax
call fcn.00408f50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00431a00
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5be3c0]
mov dword [esp + 8], eax
call fcn.00408df0
nop
call fcn.0045ca10
jmp fcn.0055e870