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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c0]
cmp eax, dword [ecx + 8]
jbe 0x709c13
sub esp, 0x240
mov eax, dword [esp + 0x268]
mov ecx, dword [eax + 0x5c]
mov edx, dword [esp + 0x26c]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
cmp al, 9
jg 0x70855a
cmp al, 4
jg 0x70771d
cmp al, 2
jg 0x707258
cmp al, 1
jne 0x706f32
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x706cd4
cmp al, 1
jne 0x706ca8
mov eax, dword [esp + 0x254]
cmp eax, 8
jge 0x706c45
mov eax, 0xffffffff
xor ecx, ecx
xor edx, edx
test eax, eax
jge 0x706bb5
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0xc8], eax
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], ecx
movsd xmm0, qword [esp + 0x1bc]
movsd qword [esp + 0x1a4], xmm0
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ecx, dword [0x10e35d8]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov ebx, dword [esp + 0x250]
movzx edx, byte [ebx]
movzx ecx, byte [ebx + 1]
mov ebp, ecx
shl ecx, 8
or edx, ecx
shr ebp, 0x18
movzx ecx, byte [ebx + 2]
mov esi, ecx
shl ecx, 0x10
or edx, ecx
shr esi, 0x10
or esi, ebp
movzx ecx, byte [ebx + 3]
mov ebp, ecx
shl ecx, 0x18
or edx, ecx
shr ebp, 8
or ebp, esi
movzx ecx, byte [ebx + 4]
or ecx, ebp
movzx ebp, byte [ebx + 5]
shl ebp, 8
or ecx, ebp
movzx ebp, byte [ebx + 6]
shl ebp, 0x10
or ecx, ebp
movzx ebx, byte [ebx + 7]
shl ebx, 0x18
or ecx, ebx
mov eax, 8
jmp 0x706b85
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x706f06
mov dword [esp + 0xd8], eax
mov ebp, dword [esp + 0x260]
mov esi, dword [esp + 0x264]
jmp 0x706de5
mov dword [esp + 0x168], edx
mov dword [esp + 0x20c], ecx
mov dword [esp + 0xd0], edi
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c8], eax
movsd xmm0, qword [esp + 0x1c4]
movsd qword [esp + 0x1b4], xmm0
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x10e35d8]
mov edx, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1b8]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call eax
mov ebx, dword [esp + 0x184]
mov eax, dword [esp + 0xd0]
sub ebx, eax
mov edx, dword [esp + 0x168]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x20c]
add eax, ebx
mov ebx, dword [esp + 0x260]
mov ebp, dword [esp + 0x264]
mov ebp, ebx
mov esi, dword [esp + 0x264]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0xd8]
test edx, edx
jle 0x706ee2
mov dword [esp + 0x184], ebx
cmp edx, 8
jge 0x706e4c
mov edi, 0xffffffff
xor edi, edi
mov dword [esp + 0x40], edi
xor edi, edi
mov dword [esp + 0x50], edi
mov edi, 0xffffffff
test edi, edi
jl 0x706e20
cmp edx, edi
jae 0x706d2b
jmp 0x709baa
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx edi, byte [ecx]
movzx eax, byte [ecx + 1]
mov dword [esp + 0x198], eax
shl eax, 8
or edi, eax
mov eax, dword [esp + 0x198]
shr eax, 0x18
movzx ebx, byte [ecx + 2]
mov dword [esp + 0x198], ebx
shl ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x198]
shr edi, 0x10
or eax, edi
movzx edi, byte [ecx + 3]
mov dword [esp + 0x198], edi
shl edi, 0x18
or edi, ebx
mov ebx, dword [esp + 0x198]
shr ebx, 8
or ebx, eax
movzx eax, byte [ecx + 4]
or eax, ebx
movzx ebx, byte [ecx + 5]
shl ebx, 8
or eax, ebx
movzx ebx, byte [ecx + 6]
shl ebx, 0x10
or eax, ebx
movzx ebx, byte [ecx + 7]
shl ebx, 0x18
or eax, ebx
mov ebx, dword [esp + 0x184]
mov dword [esp + 0x40], edi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xd8]
mov edi, 8
jmp 0x706e0f
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 2
jne 0x70722c
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x707068
cmp al, 5
jne 0x70703c
mov eax, dword [esp + 0x254]
cmp eax, 4
jge 0x707029
mov eax, 0xffffffff
xor ecx, ecx
test eax, eax
jge 0x706f9c
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x110], eax
mov dword [esp + 0x18c], ecx
movss xmm0, dword [esp + 0x18c]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x1ac], xmm0
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ecx, dword [0x10e35d4]
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x1b0]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov edx, dword [esp + 0x250]
mov ecx, dword [edx]
mov eax, 4
jmp 0x706f6c
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x707200
mov dword [esp + 0x10c], eax
mov ebp, dword [esp + 0x264]
mov esi, dword [esp + 0x260]
jmp 0x707179
mov dword [esp + 0x174], ebx
mov dword [esp + 0x160], edx
mov dword [esp + 0x200], ecx
mov dword [esp + 0x114], edi
mov eax, dword [esp + 0x60]
mov dword [esp + 0x188], eax
movss xmm0, dword [esp + 0x188]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x19c], xmm0
mov eax, dword [esi + 0x10]
mov ecx, dword [0x10e35d4]
mov edx, dword [esp + 0x19c]
mov ebx, dword [esp + 0x1a0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call eax
mov ebx, dword [esp + 0x174]
mov eax, dword [esp + 0x114]
sub ebx, eax
mov edx, dword [esp + 0x160]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x200]
add eax, ebx
mov ebx, dword [esp + 0x264]
mov ebp, dword [esp + 0x260]
mov ebp, ebx
mov esi, dword [esp + 0x260]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x10c]
test edx, edx
jle 0x7071dc
cmp edx, 4
jge 0x7071cf
mov edi, 0xffffffff
xor edi, edi
mov dword [esp + 0x60], edi
mov edi, 0xffffffff
test edi, edi
jl 0x7071a3
cmp edx, edi
jae 0x7070bf
jmp 0x709bc5
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov edi, dword [ecx]
mov dword [esp + 0x60], edi
mov edi, 4
jmp 0x707192
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 3
jne 0x7074b9
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x707359
test al, al
jne 0x70732d
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caa10
mov eax, dword [esp + 0x14]
test eax, eax
jge 0x7072d3
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ecx, dword [0x10e35e0]
mov edx, dword [esp + 0x264]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x70748d
mov dword [esp + 0x6c], eax
jmp 0x7073f8
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x260]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x10e35e0]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
call ecx
mov ebx, dword [esp + 0x144]
mov eax, dword [esp + 0x7c]
sub ebx, eax
mov edx, dword [esp + 0x134]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x1f0]
add eax, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x6c]
test edx, edx
jle 0x707469
mov dword [esp + 0x144], ebx
mov dword [esp + 0x134], edx
mov dword [esp + 0x1f0], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.006caa10
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x70743d
mov ecx, dword [esp + 0x134]
cmp eax, ecx
jbe 0x70739c
jmp 0x709bec
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x7075b1
test al, al
jne 0x707585
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caa10
mov eax, dword [esp + 0x14]
test eax, eax
jge 0x70752b
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ecx, dword [0x10e35f0]
mov edx, dword [esp + 0x264]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x7076f1
mov dword [esp + 0xa4], eax
jmp 0x70765c
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x260]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x10e35f0]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
call ecx
mov ebx, dword [esp + 0x14c]
mov eax, dword [esp + 0xb4]
sub ebx, eax
mov edx, dword [esp + 0x124]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x1f8]
add eax, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0xa4]
test edx, edx
jle 0x7076cd
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x124], edx
mov dword [esp + 0x1f8], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.006caa10
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x7076a1
mov ecx, dword [esp + 0x124]
cmp eax, ecx
jbe 0x7075f7
jmp 0x709be0
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 6
jg 0x707d27
cmp al, 5
jne 0x7079a3
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x707832
test al, al
jne 0x707806
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
test eax, eax
jge 0x7077a5
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov edx, dword [0x10e35dc]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x707977
mov dword [esp + 0x64], eax
jmp 0x7078de
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x260]
mov edx, dword [eax + 0x10]
mov ebx, dword [0x10e35dc]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call edx
mov ebx, dword [esp + 0x138]
mov eax, dword [esp + 0xec]
sub ebx, eax
mov edx, dword [esp + 0x130]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x1e8]
add eax, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x64]
test edx, edx
jle 0x707953
mov dword [esp + 0x130], edx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x138], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
test eax, eax
jl 0x707927
mov edx, dword [esp + 0x130]
cmp eax, edx
jbe 0x707875
jmp 0x709bfd
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x707af7
cmp al, 1
jne 0x707acb
mov eax, dword [esp + 0x254]
cmp eax, 8
jge 0x707a68
mov eax, 0xffffffff
xor ecx, ecx
xor edx, edx
test eax, eax
jge 0x707a06
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ebx, dword [0x10e35f0]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov ebx, dword [esp + 0x250]
movzx ecx, byte [ebx]
movzx edx, byte [ebx + 1]
mov ebp, edx
shl edx, 8
or ecx, edx
shr ebp, 0x18
movzx edx, byte [ebx + 2]
mov esi, edx
shl edx, 0x10
or ecx, edx
shr esi, 0x10
or esi, ebp
movzx edx, byte [ebx + 3]
mov ebp, edx
shl edx, 0x18
or ecx, edx
shr ebp, 8
or ebp, esi
movzx edx, byte [ebx + 4]
or edx, ebp
movzx ebp, byte [ebx + 5]
shl ebp, 8
or edx, ebp
movzx ebp, byte [ebx + 6]
shl ebp, 0x10
or edx, ebp
movzx ebx, byte [ebx + 7]
shl ebx, 0x18
or edx, ebx
mov eax, 8
jmp 0x7079d6
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x707cfb
mov dword [esp + 0xac], eax
mov ebp, dword [esp + 0x264]
mov esi, dword [esp + 0x260]
jmp 0x707bda
mov dword [esp + 0x204], ecx
mov dword [esp + 0x15c], edx
mov dword [esp + 0xe8], edi
mov eax, dword [esi + 0x10]
mov ecx, dword [0x10e35f0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
call eax
mov ebx, dword [esp + 0x170]
mov eax, dword [esp + 0xe8]
sub ebx, eax
mov edx, dword [esp + 0x15c]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x204]
add eax, ebx
mov ebx, dword [esp + 0x264]
mov ebp, dword [esp + 0x260]
mov ebp, ebx
mov esi, dword [esp + 0x260]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0xac]
test edx, edx
jle 0x707cd7
mov dword [esp + 0x170], ebx
cmp edx, 8
jge 0x707c41
mov edi, 0xffffffff
xor edi, edi
mov dword [esp + 0x30], edi
xor edi, edi
mov dword [esp + 0x38], edi
mov edi, 0xffffffff
test edi, edi
jl 0x707c15
cmp edx, edi
jae 0x707b4e
jmp 0x709bb3
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx edi, byte [ecx]
movzx eax, byte [ecx + 1]
mov dword [esp + 0x198], eax
shl eax, 8
or edi, eax
mov eax, dword [esp + 0x198]
shr eax, 0x18
movzx ebx, byte [ecx + 2]
mov dword [esp + 0x198], ebx
shl ebx, 0x10
or edi, ebx
mov ebx, dword [esp + 0x198]
shr ebx, 0x10
or eax, ebx
movzx ebx, byte [ecx + 3]
mov dword [esp + 0x198], ebx
shl ebx, 0x18
or ebx, edi
mov edi, dword [esp + 0x198]
shr edi, 8
or edi, eax
movzx eax, byte [ecx + 4]
or eax, edi
movzx edi, byte [ecx + 5]
shl edi, 8
or eax, edi
movzx edi, byte [ecx + 6]
shl edi, 0x10
or eax, edi
movzx edi, byte [ecx + 7]
shl edi, 0x18
or eax, edi
mov edi, 8
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x170]
jmp 0x707c04
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 7
jne 0x707fcd
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x707e36
cmp al, 5
jne 0x707e0a
mov eax, dword [esp + 0x254]
cmp eax, 4
jge 0x707df7
mov eax, 0xffffffff
xor ecx, ecx
test eax, eax
jge 0x707d91
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov edx, dword [0x10e35ec]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
call eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov edx, dword [esp + 0x250]
mov ecx, dword [edx]
mov eax, 4
jmp 0x707d61
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x707fa1
mov dword [esp + 0x68], eax
mov ebp, dword [esp + 0x260]
mov esi, dword [esp + 0x264]
jmp 0x707f1a
mov dword [esp + 0x208], ecx
mov dword [esp + 0x16c], edx
mov dword [esp + 0x180], ebx
mov dword [esp + 0xfc], edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x10e35ec]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
call eax
mov ebx, dword [esp + 0x180]
mov eax, dword [esp + 0xfc]
sub ebx, eax
mov edx, dword [esp + 0x16c]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x208]
add eax, ebx
mov ebx, dword [esp + 0x260]
mov ebp, dword [esp + 0x264]
mov ebp, ebx
mov esi, dword [esp + 0x264]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x68]
test edx, edx
jle 0x707f7d
cmp edx, 4
jge 0x707f70
mov edi, 0xffffffff
xor edi, edi
mov dword [esp + 0x28], edi
mov edi, 0xffffffff
test edi, edi
jl 0x707f44
cmp edx, edi
jae 0x707e8a
jmp 0x709bce
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov edi, dword [ecx]
mov dword [esp + 0x28], edi
mov edi, 4
jmp 0x707f33
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 8
jne 0x7082b6
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x708101
test al, al
jne 0x7080d5
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jl 0x7080a9
mov dword [esp + 0x9c], eax
test ecx, ecx
setne cl
test edx, edx
setne dl
or edx, ecx
test dl, dl
je 0x7080a1
mov ecx, dword [0x10e35c8]
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
movzx ecx, dl
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
call eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov ecx, dword [0x10e35c8]
jmp 0x708045
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x70828a
mov dword [esp + 0xa8], eax
jmp 0x708194
mov eax, dword [esp + 0x260]
mov ebx, dword [eax + 0x10]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], 0
movzx ecx, cl
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
call ebx
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x128]
mov ebx, dword [esp + 0x154]
mov ecx, dword [esp + 0x1e0]
test edx, edx
jle 0x708266
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x154], ebx
mov dword [esp + 0x128], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jl 0x70823a
mov ebx, dword [esp + 0x128]
cmp eax, ebx
ja 0x709c0b
test edx, edx
setne dl
test ecx, ecx
setne cl
mov ebp, dword [esp + 0x154]
sub ebp, eax
mov dword [esp + 0x154], ebp
sub ebx, eax
mov dword [esp + 0x128], ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
mov ebp, dword [esp + 0x1e0]
add eax, ebp
mov dword [esp + 0x1e0], eax
or ecx, edx
test cl, cl
je 0x70822f
mov edx, dword [0x10e35c8]
jmp 0x708147
mov edx, dword [0x10e35c8]
jmp 0x708147
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx eax, byte [esp + 0x25c]
cmp al, 2
jne 0x70852e
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x708502
mov dword [esp + 0x44], edx
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x268]
mov ecx, dword [eax + 0x88]
mov edx, dword [esp + 0x26c]
mov dword [esp], edx
call ecx
cmp byte [esp + 4], 3
je 0x7083d4
mov dword [esp], 0
mov eax, dword [esp + 0x1d0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.0044a5c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x224], ecx
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x260]
mov ecx, dword [ecx + 0x10]
mov edx, dword [0x10e35e8]
mov ebx, dword [esp + 0x224]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
call ecx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [esp + 0x1d0]
mov dword [esp], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
call fcn.00498f40
movzx eax, byte [esp + 0xc]
test al, al
jne 0x70833e
mov eax, dword [esp + 0x268]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x26c]
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.00409480
mov eax, dword [esp + 8]
mov dword [esp + 0x22c], 0
mov dword [esp + 0x230], 0
lea ecx, [0xaa9660]
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], eax
lea eax, [0xbaaa11]
mov dword [esp], eax
mov dword [esp + 4], 0x1f
lea eax, [esp + 0x22c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.006c97d0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x220], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x194], ecx
lea edx, [0xad93e0]
mov dword [esp], edx
call fcn.0040bd00
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x194]
mov dword [edi + 4], eax
mov eax, dword [0x10fd360]
test eax, eax
jne 0x7084f4
mov eax, dword [esp + 0x220]
mov dword [edi], eax
mov dword [esp + 0x270], 0
lea eax, [0xc82b80]
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], edi
add esp, 0x240
ret
mov eax, dword [esp + 0x220]
call fcn.00460b40
jmp 0x7084ce
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 0xd
jg 0x708d95
cmp al, 0xb
jg 0x708981
cmp al, 0xa
jne 0x70878a
movzx eax, byte [esp + 0x25c]
cmp al, 3
jne 0x70875e
mov eax, dword [esp + 0x268]
mov eax, dword [eax + 0x70]
mov ecx, dword [esp + 0x26c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x250]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0xc], eax
call fcn.006cb060
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
jl 0x708732
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x260]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x264]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x21c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x218], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x198], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x190], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.006d0820
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x220], ecx
mov edi, esp
lea esi, [esp + 0x244]
call fcn.004612e2
mov ecx, dword [esp + 0x1d4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1c], eax
call fcn.00703920
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x7086c5
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x264]
mov dword [esp], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x198]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x10], ecx
call eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx eax, byte [esp + 0x25c]
cmp al, 2
jne 0x708955
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x708929
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x260]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x264]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x21c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x218], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x198], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x190], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.006d0820
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x220], ecx
mov edi, esp
lea esi, [esp + 0x244]
call fcn.004612e2
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1c], eax
call fcn.00703920
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x7088bc
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x264]
mov dword [esp], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x198]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x10], ecx
call eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 0xc
jne 0x708b2d
movzx eax, byte [esp + 0x25c]
cmp al, 2
jne 0x708b01
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
test ecx, ecx
jl 0x708ad5
mov dword [esp + 0x194], eax
mov dword [esp + 0xb8], ecx
test eax, eax
ja 0x708a8b
lea ebx, [0x10fcca0]
mov dword [esp + 0x214], ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004614f0
mov eax, dword [esp + 0x214]
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], eax
mov ecx, dword [esp + 0x260]
mov ecx, dword [ecx + 0x10]
mov edx, dword [0x10e35cc]
mov ebx, dword [esp + 0x234]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
call ecx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov dword [esp + 0x1cc], edx
lea ecx, [0xaa98e0]
mov dword [esp], ecx
lea ecx, [0x10fcca0]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.00447080
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x194]
mov edx, dword [esp + 0x1cc]
jmp 0x7089f0
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x708c27
test al, al
jne 0x708bfb
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caa10
mov eax, dword [esp + 0x14]
test eax, eax
jge 0x708b9f
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ecx, dword [0x10e35ec]
mov edx, dword [esp + 0x264]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
call eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x708d69
mov dword [esp + 0x98], eax
jmp 0x708cd4
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x260]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x10e35ec]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
call ecx
mov ebx, dword [esp + 0x13c]
mov eax, dword [esp + 0x74]
sub ebx, eax
mov edx, dword [esp + 0x118]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x1e4]
add eax, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x98]
test edx, edx
jle 0x708d45
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x118], edx
mov dword [esp + 0x1e4], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.006caa10
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x708d19
mov ecx, dword [esp + 0x118]
cmp eax, ecx
jbe 0x708c6d
jmp 0x709bf1
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 0xf
jg 0x7092c2
cmp al, 0xe
jne 0x709021
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x708eaa
test al, al
jne 0x708e7e
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
test eax, eax
jge 0x708e1d
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov edx, dword [0x10e35d0]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x708ff5
mov dword [esp + 0xbc], eax
jmp 0x708f5c
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x260]
mov edx, dword [eax + 0x10]
mov ebx, dword [0x10e35d0]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call edx
mov ebx, dword [esp + 0x150]
mov eax, dword [esp + 0x88]
sub ebx, eax
mov edx, dword [esp + 0x11c]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x1f4]
add eax, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0xbc]
test edx, edx
jle 0x708fd1
mov dword [esp + 0x11c], edx
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x150], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
test eax, eax
jl 0x708fa5
mov edx, dword [esp + 0x11c]
cmp eax, edx
jbe 0x708ef0
jmp 0x709c04
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x709126
cmp al, 5
jne 0x7090fa
mov eax, dword [esp + 0x254]
cmp eax, 4
jge 0x7090e7
mov eax, 0xffffffff
xor ecx, ecx
test eax, eax
jge 0x709082
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov edx, dword [0x10e35dc]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov edx, dword [esp + 0x250]
mov ecx, dword [edx]
mov eax, 4
jmp 0x709052
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x709296
mov dword [esp + 0xd4], eax
mov ebp, dword [esp + 0x260]
mov esi, dword [esp + 0x264]
jmp 0x70920f
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x158], edx
mov dword [esp + 0x210], ecx
mov dword [esp + 0xdc], edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x10e35dc]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call eax
mov ebx, dword [esp + 0x17c]
mov eax, dword [esp + 0xdc]
sub ebx, eax
mov edx, dword [esp + 0x158]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x210]
add eax, ebx
mov ebx, dword [esp + 0x260]
mov ebp, dword [esp + 0x264]
mov ebp, ebx
mov esi, dword [esp + 0x264]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0xd4]
test edx, edx
jle 0x709272
cmp edx, 4
jge 0x709265
mov edi, 0xffffffff
xor edi, edi
mov dword [esp + 0x34], edi
mov edi, 0xffffffff
test edi, edi
jl 0x709239
cmp edx, edi
jae 0x70917d
jmp 0x709bd7
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov edi, dword [ecx]
mov dword [esp + 0x34], edi
mov edi, 4
jmp 0x709228
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 0x10
jne 0x70964f
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x70941f
cmp al, 1
jne 0x7093f3
mov eax, dword [esp + 0x254]
cmp eax, 8
jge 0x709390
mov eax, 0xffffffff
xor ecx, ecx
xor edx, edx
test eax, eax
jge 0x70932e
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ebx, dword [0x10e35e0]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov ebx, dword [esp + 0x250]
movzx ecx, byte [ebx]
movzx edx, byte [ebx + 1]
mov ebp, edx
shl edx, 8
or ecx, edx
shr ebp, 0x18
movzx edx, byte [ebx + 2]
mov esi, edx
shl edx, 0x10
or ecx, edx
shr esi, 0x10
or esi, ebp
movzx edx, byte [ebx + 3]
mov ebp, edx
shl edx, 0x18
or ecx, edx
shr ebp, 8
or ebp, esi
movzx edx, byte [ebx + 4]
or edx, ebp
movzx ebp, byte [ebx + 5]
shl ebp, 8
or edx, ebp
movzx ebp, byte [ebx + 6]
shl ebp, 0x10
or edx, ebp
movzx ebx, byte [ebx + 7]
shl ebx, 0x18
or edx, ebx
mov eax, 8
jmp 0x7092fe
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x709623
mov dword [esp + 0x108], eax
mov ebp, dword [esp + 0x264]
mov esi, dword [esp + 0x260]
jmp 0x709502
mov dword [esp + 0x164], edx
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x100], edi
mov eax, dword [esi + 0x10]
mov ecx, dword [0x10e35e0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call eax
mov ebx, dword [esp + 0x178]
mov eax, dword [esp + 0x100]
sub ebx, eax
mov edx, dword [esp + 0x164]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x1fc]
add eax, ebx
mov ebx, dword [esp + 0x264]
mov ebp, dword [esp + 0x260]
mov ebp, ebx
mov esi, dword [esp + 0x260]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x108]
test edx, edx
jle 0x7095ff
mov dword [esp + 0x178], ebx
cmp edx, 8
jge 0x709569
mov edi, 0xffffffff
xor edi, edi
mov dword [esp + 0x2c], edi
xor edi, edi
mov dword [esp + 0x3c], edi
mov edi, 0xffffffff
test edi, edi
jl 0x70953d
cmp edx, edi
jae 0x709476
jmp 0x709bbc
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
movzx edi, byte [ecx]
movzx eax, byte [ecx + 1]
mov dword [esp + 0x198], eax
shl eax, 8
or edi, eax
mov eax, dword [esp + 0x198]
shr eax, 0x18
movzx ebx, byte [ecx + 2]
mov dword [esp + 0x198], ebx
shl ebx, 0x10
or edi, ebx
mov ebx, dword [esp + 0x198]
shr ebx, 0x10
or eax, ebx
movzx ebx, byte [ecx + 3]
mov dword [esp + 0x198], ebx
shl ebx, 0x18
or ebx, edi
mov edi, dword [esp + 0x198]
shr edi, 8
or edi, eax
movzx eax, byte [ecx + 4]
or eax, edi
movzx edi, byte [ecx + 5]
shl edi, 8
or eax, edi
movzx edi, byte [ecx + 6]
shl edi, 0x10
or eax, edi
movzx edi, byte [ecx + 7]
shl edi, 0x18
or eax, edi
mov edi, 8
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x108]
mov ebx, dword [esp + 0x178]
jmp 0x70952c
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 0x11
jne 0x7098ec
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x709765
test al, al
jne 0x709739
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
test eax, eax
jge 0x7096ce
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov edx, dword [0x10e35dc]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov edx, ecx
shr ecx, 1
shl edx, 0x1f
sar edx, 0x1f
xor ecx, edx
mov dword [esp + 0xc], ecx
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x7098c0
mov dword [esp + 0xc4], eax
jmp 0x709827
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x260]
mov edx, dword [eax + 0x10]
mov ebx, dword [0x10e35dc]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov ebx, ecx
shr ecx, 1
shl ebx, 0x1f
sar ebx, 0x1f
xor ecx, ebx
mov dword [esp + 0xc], ecx
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call edx
mov ebx, dword [esp + 0x148]
mov eax, dword [esp + 0x8c]
sub ebx, eax
mov edx, dword [esp + 0x12c]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x1dc]
add eax, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0xc4]
test edx, edx
jle 0x70989c
mov dword [esp + 0x148], ebx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x1dc], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
test eax, eax
jl 0x709870
mov edx, dword [esp + 0x12c]
cmp eax, edx
jbe 0x7097ab
jmp 0x709bf6
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
cmp al, 0x12
jne 0x70722c
movzx eax, byte [esp + 0x25c]
cmp al, 2
je 0x709a14
test al, al
jne 0x7099e8
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jge 0x70996f
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x260]
mov eax, dword [eax + 0x10]
mov ebx, dword [0x10e35e0]
mov ebp, dword [esp + 0x264]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov ebx, ecx
shr ecx, 1
mov ebp, edx
shl edx, 0x1f
or edx, ecx
shl ebx, 0x1f
sar ebx, 0x1f
xor edx, ebx
mov dword [esp + 0xc], edx
shr ebp, 1
xor ebp, ebx
mov dword [esp + 0x10], ebp
call eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b8]
mov ecx, dword [0x10e46bc]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, dword [esp + 0x250]
mov dword [esp], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
call fcn.006caf40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x709b7e
mov dword [esp + 0x84], eax
jmp 0x709ae1
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x260]
mov ebx, dword [eax + 0x10]
mov ebp, dword [0x10e35e0]
mov esi, dword [esp + 0x264]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov ebp, ecx
shr ecx, 1
mov edi, edx
shl edx, 0x1f
or edx, ecx
shl ebp, 0x1f
sar ebp, 0x1f
xor edx, ebp
mov dword [esp + 0xc], edx
shr edi, 1
xor edi, ebp
mov dword [esp + 0x10], edi
call ebx
mov ebx, dword [esp + 0x140]
mov eax, dword [esp + 0x90]
sub ebx, eax
mov edx, dword [esp + 0x120]
sub edx, eax
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x1ec]
add eax, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x84]
test edx, edx
jle 0x709b5a
mov dword [esp + 0x140], ebx
mov dword [esp + 0x120], edx
mov dword [esp + 0x1ec], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.006caa10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jl 0x709b2e
mov ebx, dword [esp + 0x120]
cmp eax, ebx
jbe 0x709a5d
jmp 0x709be5
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
add esp, 0x240
ret
mov eax, dword [0x10e46b0]
mov ecx, dword [0x10e46b4]
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], ecx
add esp, 0x240
ret
mov eax, edi
mov ecx, edx
call fcn.00460c20
mov eax, edi
mov ecx, edx
call fcn.00460c20
mov eax, edi
mov ecx, edx
call fcn.00460c20
mov eax, edi
mov ecx, edx
call fcn.00460c20
mov eax, edi
mov ecx, edx
call fcn.00460c20
mov eax, edi
mov ecx, edx
call fcn.00460c20
call fcn.00460c20
mov ecx, ebx
call fcn.00460c20
call fcn.00460c20
call fcn.00460c20
mov ecx, edx
call fcn.00460c20
mov ecx, edx
call fcn.00460c20
mov ecx, edx
call fcn.00460c20
mov ecx, ebx
call fcn.00460c20
nop
call fcn.0045f5f0
jmp fcn.00706af0