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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0xdc
mov ecx, dword [ebp + 0x156160]
mov esi, dword [ebp + 0x156198]
mov dword [esp + 0x34], edx
mov eax, dword [eax + 0x15616c]
test ecx, ecx
mov dword [esp + 0xa8], esi
jle 0x700e3d25
shl eax, 5
mov esi, ebp
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x156168]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [0x7079f3b0]
shr eax, 0x1f
mov dword [esp + 0xc8], eax
nop
mov ebx, dword [esp + 0x14]
test ebx, ebx
jle 0x700e3d08
mov eax, dword [esp + 0xc8]
add eax, dword [0x7079f3b0]
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
sar dword [esp + 0x2c], 1
mov eax, dword [esp + 0x2c]
lea edi, [eax*4]
add eax, dword [esp + 0x18]
mov dword [esp + 0xb8], edi
xor edi, edi
mov dword [esp + 0xb0], eax
mov eax, dword [esi + 0x15616c]
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jle 0x700e3cf8
mov eax, dword [ebp]
mov eax, dword [eax + 0x50]
mov edx, dword [eax*4 + 0x7079f380]
cmp edx, dword [0x7079f3b0]
mov eax, dword [eax*4 + 0x7079f300]
sete bl
cmp eax, dword [0x7079f3b0]
sete byte [esp + 0x20]
je 0x700e3cb3
cmp eax, dword [0x7079f3b0]
setl al
jl 0x700e3e61
cmp edx, dword [0x7079f3b0]
jl 0x700e3ed5
mov dword [esp + 8], 0x852
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fe2c
call fcn.6feeef40
mov eax, dword [esi + 0x15616c]
mov ecx, dword [esi + 0x156160]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x156168]
mov dword [esp + 0x14], eax
mov eax, dword [0x7079f14c]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x64], ebp
mov ebp, ecx
mov eax, dword [eax*4 + 0x7079f380]
mov ebx, eax
mov dword [esp + 0x38], eax
shr eax, 0x1f
add eax, ebx
xor ebx, ebx
mov dword [esp + 0x28], eax
mov edi, ebx
sar dword [esp + 0x28], 1
mov eax, dword [esp + 0x28]
shl eax, 2
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x2c]
mov eax, edi
sar eax, 1
mov ebx, dword [esp + 0x18]
imul eax, ecx
add ebx, eax
cmp ebx, ebp
mov dword [esp + 0x20], ebx
jge 0x700e3d80
mov edx, edi
mov ebx, dword [esp + 0x4c]
and edx, 1
imul edx, ecx
lea ecx, [ebx + edx]
cmp ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
jge 0x700e3d80
imul eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x64]
add eax, edx
lea eax, [ebx + eax*4]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov edx, dword [eax*4 + 0x7079f380]
mov eax, dword [eax*4 + 0x7079f300]
cmp edx, ebx
sete cl
cmp eax, ebx
sete bl
je 0x700e3d30
cmp eax, dword [esp + 0x38]
setl al
jl 0x700e3f60
cmp edx, dword [esp + 0x38]
setl dl
jl 0x700e4013
mov ebx, dword [0x7079f14c]
test dl, dl
mov ebx, dword [ebx*4 + 0x7079f11c]
mov dword [esp + 0x84], ebx
je 0x700e3fd8
mov edx, dword [esp + 0x24]
test al, al
mov dword [esp + 0x40], edx
je 0x700e3fd8
mov eax, dword [esp + 0x84]
mov dword [esp + 0x98], edi
mov edi, ebp
mov eax, dword [eax*4 + 0x7079f380]
mov ebx, eax
mov dword [esp + 0x50], eax
shr eax, 0x1f
add eax, ebx
xor ebx, ebx
mov dword [esp + 0x44], eax
mov ebp, ebx
sar dword [esp + 0x44], 1
mov eax, dword [esp + 0x44]
shl eax, 2
mov dword [esp + 0xac], eax
mov ebx, dword [esp + 0x28]
mov eax, ebp
sar eax, 1
mov ecx, dword [esp + 0x20]
imul eax, ebx
add ecx, eax
cmp ecx, edi
mov dword [esp + 0x30], ecx
jge 0x700e3df0
mov edx, ebp
and edx, 1
imul edx, ebx
mov ebx, dword [esp + 0x3c]
add ebx, edx
cmp ebx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
jge 0x700e3df0
imul eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x5c]
add eax, edx
lea eax, [ebx + eax*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov edx, dword [eax*4 + 0x7079f380]
mov eax, dword [eax*4 + 0x7079f300]
cmp edx, ebx
sete cl
cmp eax, ebx
sete bl
je 0x700e3da0
cmp eax, dword [esp + 0x50]
setl al
jl 0x700e4088
cmp edx, dword [esp + 0x50]
setl dl
jl 0x700e4190
mov ebx, dword [esp + 0x84]
test dl, dl
mov ebx, dword [ebx*4 + 0x7079f11c]
mov dword [esp + 0x94], ebx
je 0x700e4150
mov edx, dword [esp + 0x40]
test al, al
mov dword [esp + 0x60], edx
je 0x700e4150
mov eax, dword [esp + 0x94]
mov dword [esp + 0xa4], ebp
mov eax, dword [eax*4 + 0x7079f380]
mov ebx, eax
mov dword [esp + 0x54], eax
shr eax, 0x1f
add eax, ebx
xor ebx, ebx
mov dword [esp + 0x48], eax
mov ebp, ebx
mov ebx, dword [esp + 0x14]
sar dword [esp + 0x48], 1
mov eax, dword [esp + 0x48]
shl eax, 2
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x44]
mov eax, ebp
sar eax, 1
mov edx, dword [esp + 0x30]
imul eax, ecx
add edx, eax
cmp edx, edi
mov dword [esp + 0x14], edx
jge 0x700e3e10
mov edx, ebp
and edx, 1
imul edx, ecx
mov ecx, dword [esp + 0x58]
add ecx, edx
cmp ecx, ebx
mov dword [esp + 0x70], ecx
jge 0x700e3e10
imul eax, dword [esp + 0x40]
add eax, edx
mov edx, dword [esp + 0x74]
lea eax, [edx + eax*4]
mov dword [esp + 0x80], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov edx, dword [eax*4 + 0x7079f380]
cmp edx, dword [esp + 0x54]
mov eax, dword [eax*4 + 0x7079f300]
sete cl
cmp eax, dword [esp + 0x54]
sete byte [esp + 0x68]
je 0x700e4100
cmp eax, dword [esp + 0x54]
setl al
jl 0x700e4205
cmp edx, dword [esp + 0x54]
setl dl
jl 0x700e4317
mov ecx, dword [esp + 0x94]
test dl, dl
mov ecx, dword [ecx*4 + 0x7079f11c]
mov dword [esp + 0xa0], ecx
je 0x700e42e0
mov edx, dword [esp + 0x60]
test al, al
mov dword [esp + 0x6c], edx
je 0x700e42e0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xb4], ebp
mov eax, dword [eax*4 + 0x7079f380]
mov edx, eax
mov dword [esp + 0x7c], eax
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x88], eax
sar dword [esp + 0x88], 1
mov eax, dword [esp + 0x88]
shl eax, 2
mov dword [esp + 0xcc], eax
xor eax, eax
mov ebp, eax
mov eax, ebp
mov edx, dword [esp + 0x14]
sar eax, 1
imul eax, dword [esp + 0x48]
lea ecx, [edx + eax]
cmp ecx, edi
mov dword [esp + 0x68], ecx
jge 0x700e3c98
mov edx, ebp
mov ecx, dword [esp + 0x70]
and edx, 1
imul edx, dword [esp + 0x48]
add ecx, edx
cmp ecx, ebx
mov dword [esp + 0x78], ecx
jge 0x700e3c98
imul eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x7c]
add edx, eax
mov eax, dword [esp + 0x80]
lea edi, [eax + edx*4]
mov eax, dword [edi]
mov eax, dword [eax + 0x50]
mov edx, dword [eax*4 + 0x7079f380]
mov eax, dword [eax*4 + 0x7079f300]
cmp edx, ebx
sete cl
cmp eax, ebx
sete bl
je 0x700e4296
cmp eax, dword [esp + 0x7c]
setl al
jl 0x700e43a8
cmp edx, dword [esp + 0x7c]
setl dl
jl 0x700e4451
mov ecx, dword [esp + 0xa0]
test dl, dl
mov ebx, dword [ecx*4 + 0x7079f11c]
mov dword [esp + 0x8c], ebx
je 0x700e4430
test al, al
je 0x700e4430
mov dword [esp + 0xc0], ebp
mov ebp, dword [esp + 0x88]
xor ebx, ebx
mov dword [esp + 0x90], edi
mov eax, ebx
mov edx, dword [esp + 0x6c]
mov ecx, ebx
sar eax, 1
and ecx, 1
mov edi, dword [esp + 0x90]
imul eax, ebp
add ebx, 1
imul ecx, ebp
imul edx, eax
add eax, dword [esp + 0x68]
add edx, ecx
add ecx, dword [esp + 0x78]
lea edx, [edi + edx*4]
mov edi, dword [esp + 0x8c]
mov dword [esp], eax
mov eax, esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], edi
call fcn.700e2cd0
cmp ebx, 4
jne 0x700e3c36
mov ebp, dword [esp + 0xc0]
mov ebx, dword [esi + 0x156168]
mov edi, dword [esi + 0x156160]
add ebp, 1
cmp ebp, 4
je 0x700e3e07
mov eax, dword [esi + 0x15616c]
mov dword [esp + 0x6c], eax
jmp 0x700e3b70
test bl, bl
je 0x700e37f9
mov eax, dword [esp + 0x18]
mov edx, ebp
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [0x7079f3b0]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov eax, dword [esi + 0x156168]
mov ecx, dword [esi + 0x156160]
mov dword [esp + 0x14], eax
add edi, 8
add ebp, 0x20
cmp edi, dword [esp + 0x14]
jl 0x700e37b7
add dword [esp + 0x18], 8
mov eax, dword [esp + 0xc4]
add dword [esp + 0xa8], eax
cmp dword [esp + 0x18], ecx
jl 0x700e3770
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
test cl, cl
je 0x700e38f8
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov eax, dword [esi + 0x156168]
mov ebp, dword [esi + 0x156160]
mov dword [esp + 0x14], eax
lea esi, [esi]
add edi, 1
cmp edi, 4
je 0x700e3e27
mov eax, dword [esi + 0x15616c]
mov dword [esp + 0x24], eax
jmp 0x700e3885
test cl, cl
je 0x700e39ec
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov eax, dword [esi + 0x156168]
mov edi, dword [esi + 0x156160]
mov dword [esp + 0x14], eax
lea esi, [esi]
add ebp, 1
cmp ebp, 4
je 0x700e3e46
mov eax, dword [esi + 0x15616c]
mov dword [esp + 0x40], eax
jmp 0x700e397a
mov ebp, dword [esp + 0xb4]
nop
add ebp, 1
cmp ebp, 4
je 0x700e3e54
mov eax, dword [esi + 0x15616c]
mov dword [esp + 0x60], eax
jmp 0x700e3a71
mov edi, dword [esp + 0x4c]
mov ecx, ebp
mov ebp, dword [esp + 0x64]
add edi, 8
add ebp, 0x20
cmp edi, dword [esp + 0x14]
jl 0x700e37b7
jmp 0x700e3d08
mov ebp, edi
mov edi, dword [esp + 0x98]
jmp 0x700e3d80
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x14], ebx
jmp 0x700e3df0
test bl, bl
je 0x700e3808
mov eax, dword [esp + 0x18]
mov edx, dword [0x7079f3b0]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x34]
mov ecx, ebx
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp], edx
mov edx, ebp
call fcn.700e0d70
mov eax, ebx
mov ecx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x10], edi
imul eax, ebx
mov dword [esp + 8], ebx
mov ebx, dword [0x7079f3b0]
lea edx, [ebp + eax*4]
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
jmp 0x700e3ce1
cmp byte [esp + 0x20], 0
jne 0x700e3ef1
mov ebx, dword [esp + 0x1c]
test al, al
mov dword [esp + 0x24], ebx
jne 0x700e384a
jmp 0x700e3814
mov edx, dword [0x7079f3b0]
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, esi
mov dword [esp + 4], ebx
mov dword [esp], edx
mov edx, ebp
call fcn.700e0d70
mov eax, ebx
mov edx, dword [esp + 0xb8]
add eax, edi
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], ebx
add edx, ebp
mov dword [esp + 0xc], eax
mov eax, dword [0x7079f3b0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
jmp 0x700e3ce1
test cl, cl
je 0x700e3905
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp], ecx
mov ecx, ebp
mov dword [esp + 0xc], eax
mov eax, esi
call fcn.700e0d70
mov eax, ebp
mov edx, dword [esp + 0x5c]
imul eax, ebx
mov ecx, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 8], ebx
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], ebp
add eax, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
jmp 0x700e3d63
mov dword [esp + 8], 0x852
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fe2c
call fcn.6feeef40
mov eax, dword [esi + 0x15616c]
mov ebp, dword [esi + 0x156160]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x156168]
mov dword [esp + 0x14], eax
jmp 0x700e393e
test bl, bl
je 0x700e3912
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov eax, esi
mov dword [esp + 4], ebp
call fcn.700e0d70
mov eax, ebx
mov edx, dword [esp + 0x5c]
add eax, ebp
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
add edx, dword [esp + 0x9c]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
jmp 0x700e3d63
test cl, cl
je 0x700e39f9
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edi
mov dword [esp], ecx
mov ecx, ebx
mov dword [esp + 0xc], eax
mov eax, esi
call fcn.700e0d70
mov eax, ebx
mov edx, dword [esp + 0x74]
imul eax, edi
mov ecx, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], edi
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], ebx
add eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
jmp 0x700e3dd3
test cl, cl
je 0x700e3ae6
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov ebx, dword [esi + 0x156168]
mov edi, dword [esi + 0x156160]
jmp 0x700e3e10
mov dword [esp + 8], 0x852
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fe2c
call fcn.6feeef40
mov eax, dword [esi + 0x15616c]
mov edi, dword [esi + 0x156160]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x156168]
mov dword [esp + 0x14], eax
jmp 0x700e3a33
test bl, bl
je 0x700e3a06
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x30]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x74]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, esi
mov dword [esp + 4], ebx
call fcn.700e0d70
mov eax, edi
mov edx, dword [esp + 0x74]
add eax, ebx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
add edx, dword [esp + 0xac]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
jmp 0x700e3dd3
test cl, cl
je 0x700e3af3
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 8], edi
mov dword [esp], ecx
mov ecx, ebx
mov dword [esp + 0xc], eax
mov eax, esi
call fcn.700e0d70
mov eax, ebx
mov edx, dword [esp + 0x80]
imul eax, edi
mov ecx, ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], edi
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
add eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov ebx, dword [esi + 0x156168]
mov edi, dword [esi + 0x156160]
jmp 0x700e3e10
test cl, cl
je 0x700e3be0
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov ebx, dword [esi + 0x156168]
mov edi, dword [esi + 0x156160]
jmp 0x700e3c98
mov dword [esp + 8], 0x852
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fe2c
call fcn.6feeef40
mov eax, dword [esi + 0x15616c]
mov edi, dword [esi + 0x156160]
mov ebx, dword [esi + 0x156168]
mov dword [esp + 0x6c], eax
jmp 0x700e3b2d
cmp byte [esp + 0x68], 0
je 0x700e3b00
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x14]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x80]
mov dword [esp], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, esi
mov dword [esp + 4], ebx
call fcn.700e0d70
mov eax, edi
mov edx, dword [esp + 0x80]
add eax, ebx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov ebx, dword [esi + 0x156168]
mov edi, dword [esi + 0x156160]
jmp 0x700e3e10
test cl, cl
je 0x700e3bed
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [esp], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov edx, edi
mov dword [esp + 0xc], eax
mov eax, esi
call fcn.700e0d70
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], ebx
mov eax, ecx
imul eax, ebx
lea edx, [edi + eax*4]
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x78]
add eax, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov ebx, dword [esi + 0x156168]
mov edi, dword [esi + 0x156160]
jmp 0x700e3c98
mov dword [esp + 8], 0x852
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fe2c
call fcn.6feeef40
jmp 0x700e3c1f
test bl, bl
je 0x700e3bfa
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [esp], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], edx
mov edx, edi
mov dword [esp + 4], eax
mov eax, esi
call fcn.700e0d70
mov edx, dword [esp + 0xcc]
mov eax, ebx
mov ecx, dword [esp + 0x6c]
add edx, edi
mov edi, dword [esp + 0x88]
add eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, esi
call fcn.700e0d70
mov ebx, dword [esi + 0x156168]
mov edi, dword [esi + 0x156160]
jmp 0x700e3c98
push ebp
mov edx, 0x30
mov ebp, esp
push edi
push esi
push ebx
lea edi, [eax + 0x15c6bc]
sub esp, 0x14c
lea ebx, [eax + 0x153a80]
test edi, 1
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x124], ebx
je 0x700eb760
mov byte [eax + 0x15c6bc], 0
lea edi, [eax + 0x15c6bd]
mov dl, 0x2f
test edi, 2
je 0x700eb774
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub edx, 2
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x700eb78b
xor eax, eax
add edi, 2
mov word [edi - 2], ax
and edx, 1
je 0x700eb793
mov byte [edi], 0
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebx + 0x156198]
lea edi, [ebx + 0x1e2298]
mov edx, dword [ebx + 0x156188]
test edi, 1
mov dword [ebx + 0x1f7d58], 0
mov dword [ebx + 0x1f7d5c], 0
mov dword [ebx + 0xe134], eax
mov dword [ebx + 0x1f7d60], 0
mov dword [ebx + 0x1f7d64], 0
mov dword [eax], edx
mov eax, dword [ebx + 0x156190]
mov edx, 0x1a8
mov dword [ebx + 0xe12c], eax
je 0x700eb803
mov byte [ebx + 0x1e2298], 0
lea edi, [ebx + 0x1e2299]
mov dl, 0xa7
test edi, 2
je 0x700eb817
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub edx, 2
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x700eb82e
xor eax, eax
add edi, 2
mov word [edi - 2], ax
and edx, 1
je 0x700eb836
mov byte [edi], 0
mov ebx, dword [ebp - 0xcc]
mov dword [esp + 8], 0x6c00
mov dword [esp + 4], 0
mov eax, ebx
add eax, 0x1e2440
mov dword [esp], eax
lea edi, [ebx + 0x15bdbc]
call fcn.6fef7ef0
test edi, 1
mov edx, 0x900
je 0x700eb885
mov eax, dword [ebp - 0xcc]
mov dx, 0x8ff
mov byte [eax + 0x15bdbc], 0
lea edi, [eax + 0x15bdbd]
test edi, 2
je 0x700eb899
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub edx, 2
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x700eb8b0
xor esi, esi
add edi, 2
mov word [edi - 2], si
and edx, 1
je 0x700eb8b8
mov byte [edi], 0
mov eax, dword [ebp - 0xcc]
mov ebx, dword [eax + 0x156174]
test ebx, ebx
jne 0x700ec297
mov ecx, dword [eax + 0x156178]
test ecx, ecx
jne 0x700ec297
mov edx, dword [eax + 0x15617c]
test edx, edx
jne 0x700ec297
mov eax, dword [eax + 0x156180]
test eax, eax
jne 0x700ec297
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0xe158], 1
mov ebx, eax
mov dword [eax + 0x153a74], 0x701157c0
mov dword [eax + 0xe15c], 0x7011ed90
mov dword [eax + 0x11d350], 0
mov dword [eax + 0x156e14], 0
mov dword [eax + 0x1e1f1c], 0
mov dword [eax + 0x156170], 0
mov dword [esp], ebx
call fcn.700dfe90
mov dword [esp], ebx
call fcn.701018f0
mov eax, dword [ebx + 0x156174]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.701018c0
cmp dword [ebx + 0x1f5ea4], 3
je 0x700ec275
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x15cb04], 1
je 0x700ec0fe
mov ebx, dword [ebp - 0xcc]
mov eax, ebx
call fcn.700e14e0
mov eax, ebx
mov edx, 0x18
add eax, 0x161328
test al, 1
je 0x700eb9b7
mov eax, dword [ebp - 0xcc]
mov dl, 0x17
mov byte [eax + 0x161328], 0
add eax, 0x161329
test al, 2
je 0x700eb9c7
xor edi, edi
add eax, 2
mov word [eax - 2], di
sub edx, 2
mov ebx, edx
xor ecx, ecx
and ebx, 0xfffffffc
mov dword [eax + ecx], 0
add ecx, 4
cmp ecx, ebx
jb 0x700eb9ce
add eax, ecx
test dl, 2
je 0x700eb9ec
xor esi, esi
add eax, 2
mov word [eax - 2], si
and edx, 1
je 0x700eb9f4
mov byte [eax], 0
mov eax, dword [ebp - 0xcc]
mov edx, 0x20
add eax, 0x1614d8
test al, 1
je 0x700eba1c
mov eax, dword [ebp - 0xcc]
mov dl, 0x1f
mov byte [eax + 0x1614d8], 0
add eax, 0x1614d9
test al, 2
je 0x700eba2c
xor ebx, ebx
add eax, 2
mov word [eax - 2], bx
sub edx, 2
mov ebx, edx
xor ecx, ecx
and ebx, 0xfffffffc
mov dword [eax + ecx], 0
add ecx, 4
cmp ecx, ebx
jb 0x700eba33
add eax, ecx
test dl, 2
je 0x700eba51
xor ecx, ecx
add eax, 2
mov word [eax - 2], cx
and edx, 1
je 0x700eba59
mov byte [eax], 0
mov eax, dword [ebp - 0xcc]
mov edx, 0x28
lea edi, [eax + 0x161460]
test edi, 1
je 0x700eba81
mov byte [eax + 0x161460], 0
lea edi, [eax + 0x161461]
mov dl, 0x27
test edi, 2
je 0x700eba95
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub edx, 2
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x700ebaac
xor eax, eax
add edi, 2
mov word [edi - 2], ax
and edx, 1
je 0x700ebab4
mov byte [edi], 0
mov eax, dword [ebp - 0xcc]
mov edx, 0x50
lea edi, [eax + 0x161488]
test edi, 1
je 0x700ebadc
mov byte [eax + 0x161488], 0
lea edi, [eax + 0x161489]
mov dl, 0x4f
test edi, 2
je 0x700ebaf0
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub edx, 2
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x700ebb07
xor eax, eax
add edi, 2
mov word [edi - 2], ax
and edx, 1
je 0x700ebb0f
mov byte [edi], 0
mov ebx, dword [ebp - 0xcc]
xor eax, eax
mov esi, dword [ebx + 0x155b34]
cmp dword [ebx + 0x155b24], esi
je 0x700ecc20
mov ebx, dword [ebp - 0xcc]
mov dword [ebx + 0x156190], eax
lea eax, [ebp - 0x98]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebp - 0x134], eax
call eax
mov eax, dword [ebx + 0x15cc9c]
mov ecx, dword [ebx + 0x15ca34]
mov dword [ebp - 0xb8], eax
mov eax, 1
mov esi, eax
shl esi, cl
mov ecx, dword [ebx + 0x15ca38]
sub esp, 4
mov dword [ebp - 0x118], esi
shl eax, cl
test eax, eax
mov dword [ebp - 0x12c], eax
jle 0x700ecaec
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0xfc], eax
mov eax, dword [0x7079f3f0]
shl eax, 2
mov dword [ebp - 0x13c], eax
mov edi, dword [ebp - 0x118]
test edi, edi
jle 0x700ec3ad
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x114]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], eax
lea eax, [ebp - 0x88]
mov dword [esp], eax
call fcn.7011f010
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x88]
lea esi, [ebx + 0x1f7d84]
add ebx, 0x1f7db8
cmp eax, dword [ebp - 0x84]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x120], ebx
jge 0x700ec346
mov eax, dword [ebp - 0x10c]
mov edx, 0x30
test al, 1
mov edi, eax
jne 0x700ecad4
test edi, 2
jne 0x700ecac3
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x700ebc70
xor esi, esi
add edi, 2
mov word [edi - 2], si
and edx, 1
je 0x700ebc78
mov byte [edi], 0
mov eax, dword [ebp - 0x120]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x7c]
mov dword [ebp - 0xe8], eax
jge 0x700ec32d
mov eax, dword [ebp - 0xcc]
add eax, 0x11d360
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xf0]
and eax, 7
lea ebx, [eax + eax]
mov dword [ebp - 0xf8], ebx
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0x138], eax
add eax, 0x1f7db0
mov dword [ebp - 0x128], eax
add ebx, ebx
mov dword [ebp - 0xf4], ebx
nop
mov eax, dword [ebp - 0x108]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0xcc]
mov ebx, dword [eax + 0x1f5ec0]
test ebx, ebx
jne 0x700ec5ed
mov ecx, dword [eax + 0x1f5ea0]
test ecx, ecx
je 0x700ec3d5
mov edx, eax
mov ebx, dword [ebp - 0xf0]
mov esi, dword [edx + 0x15616c]
mov edi, dword [edx + 0x156198]
mov eax, dword [eax + 0x1f5eb0]
mov dword [edx + 0xe218], 0xffffffff
imul ebx, esi
add ebx, dword [ebp - 0xe8]
shl ebx, 2
add edi, ebx
test eax, eax
mov dword [ebp - 0xd0], edi
mov edi, dword [edx + 0x1561a0]
mov dword [ebp - 0xc0], edi
jne 0x700ecae1
mov edi, dword [ebp - 0xcc]
xor edx, edx
mov eax, dword [edi + 0x15ca24]
div dword [edi + 0x1f5ed8]
test edx, edx
je 0x700ec2c1
mov edx, dword [edi + 0x156190]
mov eax, edi
test edx, edx
je 0x700ec2c1
mov edi, dword [edi + 0x156140]
test edi, edi
je 0x700ec2c1
mov edx, dword [eax + 0x15613c]
test edx, edx
je 0x700ec2c1
mov edi, dword [eax + 0x15cc04]
test edi, edi
jne 0x700ec2c1
mov eax, dword [ebp - 0xc0]
add eax, ebx
cmp ecx, 1
mov dword [ebp - 0xc0], eax
jne 0x700ebf76
mov ebx, eax
mov edi, 8
lea eax, [esi*4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx]
test eax, eax
je 0x700ebe1e
movsx edx, word [eax + 0x14]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp edx, 7
jg 0x700ec2c1
movsx eax, word [eax + 0x16]
cdq
xor eax, edx
sub eax, edx
cmp eax, 7
jg 0x700ec2c1
mov eax, dword [ebx + 4]
test eax, eax
je 0x700ebe4d
movsx edx, word [eax + 0x14]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp edx, 7
jg 0x700ec2c1
movsx eax, word [eax + 0x16]
cdq
xor eax, edx
sub eax, edx
cmp eax, 7
jg 0x700ec2c1
mov eax, dword [ebx + 8]
test eax, eax
je 0x700ebe7c
movsx edx, word [eax + 0x14]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp edx, 7
jg 0x700ec2c1
movsx eax, word [eax + 0x16]
cdq
xor eax, edx
sub eax, edx
cmp eax, 7
jg 0x700ec2c1
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x700ebeab
movsx edx, word [eax + 0x14]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp edx, 7
jg 0x700ec2c1
movsx eax, word [eax + 0x16]
cdq
xor eax, edx
sub eax, edx
cmp eax, 7
jg 0x700ec2c1
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x700ebeda
movsx edx, word [eax + 0x14]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp edx, 7
jg 0x700ec2c1
movsx eax, word [eax + 0x16]
cdq
xor eax, edx
sub eax, edx
cmp eax, 7
jg 0x700ec2c1
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x700ebf09
movsx edx, word [eax + 0x14]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp edx, 7
jg 0x700ec2c1
movsx eax, word [eax + 0x16]
cdq
xor eax, edx
sub eax, edx
cmp eax, 7
jg 0x700ec2c1
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x700ebf38
movsx edx, word [eax + 0x14]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp edx, 7
jg 0x700ec2c1
movsx eax, word [eax + 0x16]
cdq
xor eax, edx
sub eax, edx
cmp eax, 7
jg 0x700ec2c1
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x700ebf67
movsx edx, word [eax + 0x14]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp edx, 7
jg 0x700ec2c1
movsx eax, word [eax + 0x16]
cdq
xor eax, edx
sub eax, edx
cmp eax, 7
jg 0x700ec2c1
add ebx, dword [ebp - 0xc4]
sub edi, 1
jne 0x700ebdf0
mov ebx, dword [ebp - 0xd0]
lea edi, [esi*4]
mov esi, 8
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], esi
add ebx, 0x1c
mov ecx, dword [eax]
test ecx, ecx
je 0x700ebfbb
mov esi, dword [ecx + 0x50]
sub ecx, dword [edx + 0x156190]
and ecx, 0xfffffffc
add ecx, dword [edx + 0x156188]
mov dword [ebx - 0x1c], ecx
mov dword [ecx + 0x50], esi
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x700ebfda
mov esi, dword [ecx + 0x50]
sub ecx, dword [edx + 0x156190]
and ecx, 0xfffffffc
add ecx, dword [edx + 0x156188]
mov dword [ebx - 0x18], ecx
mov dword [ecx + 0x50], esi
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x700ebff9
mov esi, dword [ecx + 0x50]
sub ecx, dword [edx + 0x156190]
and ecx, 0xfffffffc
add ecx, dword [edx + 0x156188]
mov dword [ebx - 0x14], ecx
mov dword [ecx + 0x50], esi
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x700ec018
mov esi, dword [ecx + 0x50]
sub ecx, dword [edx + 0x156190]
and ecx, 0xfffffffc
add ecx, dword [edx + 0x156188]
mov dword [ebx - 0x10], ecx
mov dword [ecx + 0x50], esi
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x700ec037
mov esi, dword [ecx + 0x50]
sub ecx, dword [edx + 0x156190]
and ecx, 0xfffffffc
add ecx, dword [edx + 0x156188]
mov dword [ebx - 0xc], ecx
mov dword [ecx + 0x50], esi
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x700ec056
mov esi, dword [ecx + 0x50]
sub ecx, dword [edx + 0x156190]
and ecx, 0xfffffffc
add ecx, dword [edx + 0x156188]
mov dword [ebx - 8], ecx
mov dword [ecx + 0x50], esi
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x700ec075
mov esi, dword [ecx + 0x50]
sub ecx, dword [edx + 0x156190]
and ecx, 0xfffffffc
add ecx, dword [edx + 0x156188]
mov dword [ebx - 4], ecx
mov dword [ecx + 0x50], esi
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x700ec093
mov esi, dword [ecx + 0x50]
sub ecx, dword [edx + 0x156190]
and ecx, 0xfffffffc
add ecx, dword [edx + 0x156188]
mov dword [ebx], ecx
mov dword [ecx + 0x50], esi
add eax, edi
add ebx, edi
sub dword [ebp - 0xc0], 1
jne 0x700ebf9d
mov eax, dword [ebp - 0xfc]
lea edx, [ebp - 0x88]
mov ecx, dword [ebp - 0xd0]
mov dword [esp + 0x18], 1
mov dword [esp + 0xc], 0xc
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf0]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb8]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call fcn.700e93f0
jmp 0x700ec310
mov ebx, eax
call fcn.700e14e0
mov eax, ebx
mov esi, dword [ebp - 0x124]
lea ebx, [ebx + 0x8000]
mov dword [ebp - 0xc8], ebx
mov ebx, eax
imul eax, dword [eax + 0x1560d8], 0x5c
mov ecx, dword [ebx + 0x15615c]
lea eax, [esi + eax + 0x20c8]
mov esi, ebx
mov edx, dword [eax + 0x10]
test ecx, ecx
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0x1f7d10]
mov dword [ebx + 0xe1ec], eax
jle 0x700ec260
shl edx, 4
mov eax, dword [ebx + 0x156164]
xor ebx, ebx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xc4], 0
xor edx, edx
test ebx, ebx
setne dl
xor edi, edi
test eax, eax
mov dword [esi + 0xe140], edx
mov edx, dword [ebp - 0xc4]
jle 0x700ec226
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + 0x34]
mov ecx, edi
add eax, edx
mov dword [esi + 0xe078], eax
xor eax, eax
test edi, edi
setne al
add edx, 0x10
mov dword [esi + 0xe144], eax
xor eax, eax
or ecx, ebx
je 0x700ec1be
test edi, edi
sete al
test ebx, ebx
sete cl
or eax, ecx
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd8], edx
mov dword [esp], eax
call fcn.70192270
mov ecx, dword [esi + 0xe1ec]
mov edx, 0x40
cmp eax, 0x3f
cmovbe eax, edx
add edi, 1
mov edx, dword [ebp - 0xd8]
mov dword [ecx], eax
mov eax, dword [esi + 0xa004]
add ecx, 4
mov dword [esi + 0xe1ec], ecx
add eax, 0x10
mov dword [ebp - 0xc0], eax
mov dword [esi + 0xa004], eax
mov eax, dword [esi + 0x156164]
cmp edi, eax
jl 0x700ec186
mov ecx, dword [esi + 0x15615c]
jmp 0x700ec232
mov edx, dword [esi + 0xa004]
mov dword [ebp - 0xc0], edx
mov edx, dword [esi + 0xa008]
add ebx, 1
sub edx, eax
shl edx, 4
add edx, dword [ebp - 0xc0]
mov dword [esi + 0xa004], edx
mov edx, dword [ebp - 0xd4]
add dword [ebp - 0xc4], edx
cmp ebx, ecx
jl 0x700ec169
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x1f7d0c], 0x186a0
jmp 0x700eb986
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x156170], 2
jbe 0x700eb973
mov dword [eax + 0x156170], 3
jmp 0x700eb973
mov ebx, dword [ebp - 0xcc]
mov eax, dword [0x70ea7ecc]
mov dword [ebx + 0xe158], 0
mov dword [ebx + 0x153a74], eax
mov dword [ebx + 0xe15c], 0x7011ed50
jmp 0x700eb944
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0x1f5ec8]
test edx, edx
jne 0x700ec865
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0xb8]
lea edx, [ebp - 0x88]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x78]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf0]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call fcn.700e78d0
add dword [ebp - 0xe8], 8
mov eax, dword [ebp - 0xe8]
add dword [ebp - 0xf4], 0x10
cmp eax, dword [ebp - 0x7c]
jl 0x700ebce0
add dword [ebp - 0xf0], 8
mov eax, dword [ebp - 0xf0]
cmp dword [ebp - 0x84], eax
jg 0x700ebc38
mov eax, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x110]
mov edx, eax
sub edx, dword [ebp - 0x130]
sar edx, 3
mov dword [ebx + esi*4 + 0x15cca0], edx
mov ebx, dword [ebp - 0xcc]
mov edx, dword [ebx + 0x156164]
imul edx, dword [ebx + 0x15615c]
sub eax, dword [ebx + 0x15cc9c]
imul edx, edx, 0x304
sar eax, 3
cmp eax, edx
jg 0x700ecbff
add dword [ebp - 0x110], 1
mov eax, dword [ebp - 0x118]
cmp dword [ebp - 0x110], eax
jne 0x700ebbca
add dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x12c]
add dword [ebp - 0x11c], 0x100
cmp dword [ebp - 0x114], eax
jne 0x700ebbb2
jmp 0x700ecaf5
mov edx, dword [eax + 0x1f5eb0]
test edx, edx
je 0x700ec2c1
mov edx, dword [ebp - 0xf0]
mov ebx, eax
imul edx, dword [eax + 0x15616c]
mov esi, ebx
mov eax, dword [eax + 0x156198]
add edx, dword [ebp - 0xe8]
mov dword [ebx + 0xe218], 0xffffffff
lea eax, [eax + edx*4]
mov dword [ebp - 0xd0], eax
mov edi, dword [ebp - 0xf0]
lea ebx, [ebp - 0x88]
mov eax, dword [ebp - 0xe8]
mov edx, ebx
mov dword [esp + 4], 0xc
mov ecx, edi
mov dword [esp], eax
mov eax, esi
call fcn.700e1b40
mov eax, dword [ebp - 0x84]
mov ecx, dword [esi + 0x15616c]
mov edx, dword [ebp - 0xe8]
mov ebx, dword [esi + 0x1f5ec4]
mov dword [ebp - 0x100], eax
mov eax, edi
imul eax, ecx
sub dword [ebp - 0x100], edi
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x104], ecx
add eax, edx
mov dword [ebp - 0xd8], edi
mov edi, dword [ebx*4 + 0x7079f300]
sub dword [ebp - 0xd8], edx
mov edx, eax
shl edx, 7
lea eax, [edx + eax*4]
mov dword [ebp - 0xdc], eax
mov eax, dword [esi + 0x156188]
add dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebx*4 + 0x7079f380]
test eax, eax
jle 0x700eca7d
mov ecx, dword [ebp - 0x100]
test ecx, ecx
jle 0x700eca7d
cmp dword [ebp - 0xd8], 7
jle 0x700ec4d5
cmp dword [ebp - 0x100], 7
jg 0x700ec8bb
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xec], 0
mov eax, dword [eax + 0x1f5ec4]
mov dword [ebp - 0xe0], eax
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x100]
imul eax, ebx
sub edx, ebx
test edx, edx
setle byte [ebp - 0xe1]
xor ebx, ebx
mov dword [ebp - 0xd4], eax
lea esi, [esi]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
sub ecx, ebx
add eax, ebx
test ecx, ecx
mov dword [ebp - 0xc0], eax
jle 0x700ec5d6
cmp byte [ebp - 0xe1], 0
jne 0x700ec5d6
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x700ec5e9
lea esi, [esi]
mov edi, dword [eax*4 + 0x7079f300]
mov esi, dword [eax*4 + 0x7079f380]
cmp edi, edx
jg 0x700ec576
cmp ecx, esi
jge 0x700ec57b
sub eax, 1
jne 0x700ec560
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc0]
add ebx, esi
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xd0]
mov ecx, eax
shl ecx, 7
lea ecx, [ecx + eax*4]
add ecx, dword [ebp - 0xdc]
cmp ebx, 7
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0x50], eax
jle 0x700ec520
add dword [ebp - 0xec], edi
cmp dword [ebp - 0xec], 7
jle 0x700ec4f1
jmp 0x700ec0a4
mov ecx, dword [ebp - 0xe0]
mov eax, 3
cmp ecx, 3
cmovbe eax, ecx
jmp 0x700ec57b
xor eax, eax
jmp 0x700ec57b
mov ecx, dword [0x7079f4f0]
mov eax, 1
xor ebx, ebx
lea edi, [ebp - 0x78]
shl eax, cl
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xcc]
sar dword [ebp - 0xc8], 1
add eax, 0xe070
mov dword [ebp - 0xd4], eax
mov esi, eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xc0], eax
mov ecx, dword [esi]
add esi, 0x3c
mov eax, dword [0x7079f470]
shr eax, cl
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xf4]
sar eax, cl
mov ecx, eax
mov eax, dword [ebp - 0xcc]
add ecx, dword [eax + ebx*4 + 0x1f7d78]
add ebx, 1
mov eax, dword [ebp - 0xc4]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [ebp - 0xc4], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [esi - 0x38]
mov eax, dword [0x7079f430]
mov edx, dword [ebp - 0xf8]
mov dword [esp], edi
shr eax, cl
sar edx, cl
mov ecx, dword [ebp - 0xc0]
mov dword [esp + 8], eax
add ecx, edx
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0xc4]
add edx, dword [0x7079f470]
add dword [ebp - 0xc0], 0x10
add edi, dword [0x7079f430]
cmp ebx, 3
jne 0x700ec637
mov ebx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xe8]
mov edx, dword [0x7079f3b0]
mov eax, dword [ebx + 0x1f7db4]
mov dword [esp + 8], edx
add eax, esi
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x128]
mov edx, dword [0x7079f330]
lea eax, [ebx + eax + 8]
mov dword [ebp - 0xd0], eax
mov dword [esp + 4], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 8], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xf0]
mov dword [ebx + 0x15d150], 0
sar eax, 1
add edx, eax
cmp edx, dword [ebx + 0x156160]
jge 0x700ec757
add eax, esi
cmp eax, dword [ebx + 0x156168]
jl 0x700ec94f
mov eax, dword [ebp - 0x10c]
lea edi, [ebp - 0x78]
xor ebx, ebx
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], eax
mov ecx, dword [esi]
add esi, 0x3c
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xc8], edx
sar eax, cl
add eax, dword [edi + ebx*4 + 0x1f7d78]
add ebx, 1
mov edi, dword [0x7079f470]
mov dword [esp + 4], edx
mov dword [esp], eax
shr edi, cl
mov dword [esp + 8], edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esi - 0x38]
mov eax, dword [ebp - 0xf8]
mov edx, dword [0x7079f430]
mov edi, dword [ebp - 0xc4]
sar eax, cl
add eax, dword [ebp - 0xc0]
shr edx, cl
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0xc8]
mov eax, dword [0x7079f430]
add edx, dword [0x7079f470]
add dword [ebp - 0xc0], 0x10
add dword [ebp - 0xc4], eax
cmp ebx, 3
jne 0x700ec77a
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xe8]
add eax, dword [ebx + 0x1f7db4]
mov ebx, dword [0x7079f3b0]
mov dword [esp], eax
mov dword [esp + 8], ebx
lea ebx, [ebp - 0xa0]
mov dword [esp + 4], ebx
call sub.msvcrt.dll_memcpy
mov eax, dword [0x7079f330]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd0]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0xcc]
jmp 0x700ebd15
mov esi, dword [ebp - 0xe8]
lea edx, [ebp - 0x88]
mov ebx, eax
mov edi, dword [ebp - 0xf0]
mov dword [esp + 4], 0xc
mov dword [esp], esi
mov ecx, edi
call fcn.700e1b40
mov ecx, dword [ebp - 0x7c]
lea eax, [ebx + 0x1f5ed0]
mov edx, dword [ebp - 0x84]
mov dword [esp + 0xc], eax
lea eax, [ebx + 0x1f5ecc]
mov dword [esp + 8], eax
mov eax, ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.700e0ed0
jmp 0x700ec2d5
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xd8], edi
imul eax, edi
lea edx, [eax*4]
shl eax, 7
add eax, edx
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc0], eax
mov eax, esi
shl eax, 7
lea eax, [eax + esi*4]
mov edi, eax
mov edx, dword [ebp - 0xc0]
xor eax, eax
lea esi, [esi]
mov dword [ecx + eax*4], edx
add eax, esi
mov dword [edx + 0x50], ebx
add edx, edi
cmp eax, 7
jle 0x700ec910
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xc8]
add eax, edx
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xd4]
add dword [ebp - 0xc0], eax
cmp edx, 7
jle 0x700ec904
jmp 0x700ec0a4
mov ebx, dword [ebp - 0xcc]
lea edx, [ebp - 0x88]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xf0]
mov eax, ebx
add eax, 0x1535b8
mov dword [ebx + 0x15d154], 1
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xb0]
mov dword [esp + 8], eax
lea eax, [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, ebx
mov dword [esp], esi
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x18], 0x7fffffff
mov dword [esp + 0xc], 0xc
call fcn.700e2170
mov ebx, dword [ebx + 0x1f7db4]
movzx ecx, byte [0x7079f3f0]
mov edi, dword [ebp - 0x120]
mov eax, dword [0x7079f370]
add ebx, esi
mov esi, 1
add edi, dword [ebp - 0x138]
shl esi, cl
cmp dword [0x7079f3f0], eax
mov dword [ebp - 0xc0], ebx
je 0x700eca03
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079fef4
call fcn.6feeef40
mov ecx, dword [0x7079f3f0]
test ecx, ecx
js 0x700ecaa2
test esi, esi
jle 0x700eca9e
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [ebp - 0xc0]
movsx ebx, byte [ebx + eax]
or ecx, ebx
movsx ebx, byte [edi + eax]
add eax, 1
or edx, ebx
cmp eax, esi
jne 0x700eca1f
and ecx, 1
and edx, 1
lea eax, [ecx + edx*2]
mov ebx, dword [ebp - 0x13c]
lea eax, [eax + ebx + 0x14b82]
mov ebx, dword [ebp - 0xcc]
shl eax, 4
mov eax, dword [ebx + eax + 0x8000]
add dword [ebp - 0xb4], eax
mov dword [ebx + 0x153a70], 0xc
mov dword [ebx + 0x15d154], 0
jmp 0x700ec757
mov dword [esp + 8], 0x3a2
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x707a0398
call fcn.6feeef40
jmp 0x700ec4bf
xor eax, eax
jmp 0x700eca41
mov dword [esp + 8], 0x151
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff26
call fcn.6feeef40
jmp 0x700eca11
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub edx, 2
jmp 0x700ebc59
mov byte [eax], 0
lea edi, [eax + 1]
mov dl, 0x2f
jmp 0x700ebc4d
mov esi, dword [ebp - 0xcc]
jmp 0x700ec413
lea eax, [ebp - 0x48]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x90]
mov dword [esp], eax
call dword [ebp - 0x134]
mov ebx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0x90]
mov edi, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x1f71c4]
mov eax, dword [ebx + 0x1f71c0]
sub esp, 4
sub esi, dword [ebp - 0x98]
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xfc]
sbb edi, dword [ebp - 0x94]
mov dword [ebp - 0xc0], eax
mov dword [esp], edx
imul ebx, edi, 0xf4240
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov eax, 0xf4240
mov ecx, dword [ebp - 0x48]
mul esi
add edx, ebx
mov ebx, dword [ebp - 0x44]
sub esp, 4
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
call fcn.703e0860
mov ebx, dword [ebp - 0xcc]
add eax, dword [ebp - 0xc0]
mov esi, dword [ebx + 0x1f5e98]
adc edx, dword [ebp - 0xbc]
mov dword [ebx + 0x1f71c0], eax
test esi, esi
mov dword [ebx + 0x1f71c4], edx
je 0x700ecc84
mov edx, dword [ebx + 0x1613b0]
add edx, dword [ebx + 0x1613b8]
mov eax, dword [ebx + 0x1613ac]
add edx, dword [ebx + 0x1613a0]
add edx, dword [ebx + 0x1613a8]
add eax, dword [ebx + 0x1613bc]
mov ecx, dword [ebx + 0x15613c]
add eax, dword [ebx + 0x1613b4]
add eax, dword [ebx + 0x1613a4]
shl edx, 2
cmp edx, eax
setb dl
xor eax, eax
test ecx, ecx
setne al
and eax, edx
and eax, dword [ebx + 0x156140]
mov dword [ebx + 0x1f5e9c], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0x7df
mov dword [esp + 4], 0x7079fc68
mov dword [esp], str.tp___cpi__tok___get_token_alloc_cm__mb_rows__cm__mb_cols_
call fcn.6feeef40
jmp 0x700ec394
mov esi, dword [ebx + 0x155b38]
cmp dword [ebx + 0x155b28], esi
jne 0x700ebb29
mov esi, dword [ebx + 0x15ca2c]
test esi, esi
jne 0x700ebb29
mov ecx, dword [ebx + 0x156148]
test ecx, ecx
jne 0x700ebb29
mov edx, dword [ebx + 0x156144]
test edx, edx
je 0x700ebb29
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebx + 0x15616c]
mov dword [ebp - 0xc0], eax
add eax, 1
mov edx, eax
shl edx, 7
lea eax, [edx + eax*4]
add eax, dword [ebx + 0x15618c]
jmp 0x700ebb29
mov dword [ebx + 0x1f5e9c], 0
jmp 0x700ecbf7
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [esp + 0x60]
mov eax, dword [ebx + 0x15613c]
test eax, eax
jne 0x700ecfa4
cmp dword [ebx + 0x1f5dd4], 0
mov dword [esp + 0x20], 0
je 0x700ed9ea
mov ebp, dword [ebx + 0x156ea0]
test ebp, ebp
jne 0x700ed460
xor ebp, ebp
mov edx, dword [esp + 0x20]
shl edx, 5
add edx, ebx
mov edi, dword [edx + 0x1614f8]
add edx, 0x1614f0
mov esi, dword [edx + 0x10]
mov eax, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x18], edi
cmp eax, edx
jle 0x700ed522
mov ecx, dword [esp + 0x20]
add ecx, 0xb0a8
shl ecx, 5
add ecx, ebx
mov edi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x30], edi
cmp eax, ecx
mov dword [esp + 0x34], ecx
jle 0x700ed720
mov ecx, dword [esp + 0x20]
shl ecx, 5
lea ecx, [ebx + ecx + 0x161508]
mov edi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp eax, ecx
jg 0x700ed908
jge 0x700ed900
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
jmp 0x700ed556
mov eax, dword [ebx + 0x156148]
test eax, eax
jne 0x700ecef9
mov eax, dword [ebx + 0x156e10]
cmp eax, dword [ebx + 0x156e0c]
je 0x700ed590
cmp eax, dword [ebx + 0x156e08]
je 0x700ed590
mov dword [ebx + 0x156ea0], 1
mov dword [ebx + 0x156ea4], 3
mov dword [ebx + 0x156ea8], 1
mov dword [ebx + 0x156eac], 2
cmp dword [ebx + 0x1f5dd4], 0
je 0x700ed9ea
mov eax, dword [ebx + 0x15cc04]
test eax, eax
je 0x700ed890
mov eax, dword [ebx + 0x15cc38]
test eax, eax
je 0x700ed8b5
mov eax, dword [ebx + 0x16156c]
xor ebp, ebp
mov edx, dword [ebx + 0x16155c]
mov ecx, dword [ebx + 0x161570]
mov esi, dword [ebx + 0x161568]
mov edi, dword [ebx + 0x161558]
cmp eax, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0x161574]
mov dword [esp + 0x20], 3
jge 0x700ed55e
cmp edx, ecx
jle 0x700ed6f3
xor ecx, ecx
mov edi, dword [ebx + 0x15cab8]
mov dword [ebx + 0xe158], 0
test edi, edi
je 0x700ed5a0
mov dword [ebx + 0xe158], 1
mov dword [ebx + 0x156170], 0
mov dword [ebx + 0x1561a8], ecx
mov eax, ebx
mov dword [ebx + 0x156eb0], ebp
call 0x700eb720
mov eax, dword [ebx + 0x156158]
mov edi, eax
mov ebp, eax
mov eax, dword [esp + 0x20]
sar ebp, 0x1f
mov dword [esp + 0xc], ebp
mov dword [esp + 8], edi
mov edx, dword [ebx + 0x16132c]
lea eax, [eax + eax*2]
lea esi, [ebx + eax*8]
mov eax, dword [ebx + 0x161328]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.703e0860
cdq
add eax, dword [esi + 0x161340]
adc edx, dword [esi + 0x161344]
shrd eax, edx, 1
sar edx, 1
mov dword [esi + 0x161340], eax
mov dword [esi + 0x161344], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], edi
mov eax, dword [ebx + 0x161330]
mov edx, dword [ebx + 0x161334]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], edi
cdq
add eax, dword [esi + 0x161348]
adc edx, dword [esi + 0x16134c]
shrd eax, edx, 1
sar edx, 1
mov dword [esi + 0x161348], eax
mov dword [esi + 0x16134c], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], edi
mov eax, dword [ebx + 0x161338]
mov edx, dword [ebx + 0x16133c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
mov ecx, dword [esp + 0x20]
cdq
add eax, dword [esi + 0x161350]
adc edx, dword [esi + 0x161354]
shl ecx, 5
add ecx, ebx
shrd eax, edx, 1
sar edx, 1
mov dword [esi + 0x161350], eax
mov eax, dword [esp + 0x18]
lea ebp, [ecx + 0x1614f0]
mov dword [esi + 0x161354], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x1614d8]
mov edx, dword [ebx + 0x1614dc]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
mov ecx, dword [esp + 0x2c]
add eax, dword [ebp + 8]
adc edx, dword [ebp + 0xc]
xor edi, edi
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, dword [esp + 0x18]
adc edi, edx
mov edx, dword [esp + 0x1c]
shrd esi, edi, 1
sar edi, 1
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], edi
lea ebp, [ecx + 0x1614f8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x1614e0]
mov edx, dword [ebx + 0x1614e4]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
add eax, dword [ebp + 8]
adc edx, dword [ebp + 0xc]
xor edi, edi
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, dword [esp + 0x18]
adc edi, edx
mov edx, dword [esp + 0x1c]
shrd esi, edi, 1
sar edi, 1
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x1614e8]
mov edx, dword [ebx + 0x1614ec]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
mov ecx, dword [esp + 0x2c]
lea ebp, [ecx + 0x161508]
add eax, dword [ecx + 0x161508]
adc edx, dword [ecx + 0x16150c]
xor edi, edi
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, dword [esp + 0x18]
adc edi, edx
mov edx, dword [esp + 0x1c]
shrd esi, edi, 1
sar edi, 1
mov dword [ecx + 0x161508], esi
mov dword [ecx + 0x16150c], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x1614f0]
mov edx, dword [ebx + 0x1614f4]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
mov ecx, dword [esp + 0x20]
add eax, dword [ebp + 8]
adc edx, dword [ebp + 0xc]
xor edi, edi
mov esi, edx
shr esi, 0x1f
add esi, eax
adc edi, edx
mov edx, dword [esp + 0x1c]
lea eax, [ecx + ecx*4]
shrd esi, edi, 1
mov dword [ebp + 8], esi
lea esi, [ebx + eax*4]
mov eax, dword [esp + 0x18]
sar edi, 1
mov dword [ebp + 0xc], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x161460]
mov edx, dword [ebx + 0x161464]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
add eax, dword [esi + 0x161488]
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
mov dword [esi + 0x161488], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x161468]
mov edx, dword [ebx + 0x16146c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
add eax, dword [esi + 0x16148c]
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
mov dword [esi + 0x16148c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x161470]
mov edx, dword [ebx + 0x161474]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
add eax, dword [esi + 0x161490]
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
mov dword [esi + 0x161490], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x161478]
mov edx, dword [ebx + 0x16147c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
add eax, dword [esi + 0x161494]
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [ebx + 0x161484]
sar eax, 1
mov dword [esi + 0x161494], eax
mov eax, dword [ebx + 0x161480]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xe1e4]
cdq
mov edi, eax
mov ebp, edx
shld ebp, eax, 0xb
shld edx, eax, 0xd
shl edi, 0xb
shl eax, 0xd
sub eax, edi
sbb edx, ebp
shrd eax, edx, 8
sar edx, 8
sub dword [esp + 0x20], eax
sbb dword [esp + 0x24], edx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.703e0860
add eax, dword [esi + 0x161498]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
cmp dword [ebx + 0x156eb0], 2
mov dword [esi + 0x161498], eax
je 0x700ed810
cmp dword [ebx + 0x156170], 4
je 0x700ed635
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*8]
mov edx, dword [eax + 0x16134c]
mov esi, dword [eax + 0x161348]
mov ecx, dword [eax + 0x161340]
mov eax, dword [eax + 0x161344]
cmp edx, eax
jle 0x700ed765
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*8]
cmp edx, dword [eax + 0x161354]
jl 0x700ed7a0
jle 0x700ed9b0
lea eax, [ebx + 0x156e30]
mov esi, dword [ebx + 0x1f5dd0]
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.700dec30
test eax, eax
jne 0x700ed4fb
mov eax, esi
mov edx, esi
shr eax, 1
and edx, 1
and eax, 1
shr esi, 2
add eax, edx
and esi, 1
add esi, eax
cmp esi, 1
jle 0x700ed4fb
cmp dword [ebx + 0x1f5d8c], 0x64
mov ebp, 1
je 0x700ecf1e
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*2]
lea edx, [ebx + eax*8]
mov ecx, dword [edx + 0x161340]
mov eax, dword [edx + 0x161344]
mov esi, dword [edx + 0x161350]
mov edx, dword [edx + 0x161354]
jmp 0x700ed78c
jge 0x700ed757
mov ecx, dword [esp + 0x20]
mov eax, ecx
shl ecx, 5
add eax, 0xb0a8
lea ecx, [ebx + ecx + 0x161508]
mov edi, dword [ecx + 8]
shl eax, 5
add eax, ebx
mov ecx, dword [ecx + 0xc]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x18]
cmp eax, edx
jl 0x700ed05b
jle 0x700ed710
cmp eax, ecx
jg 0x700ed580
nop
lea esi, [esi]
jl 0x700ed700
cmp esi, dword [esp + 0x2c]
jbe 0x700ed700
mov ecx, 2
jmp 0x700ed065
mov dword [ebx + 0x156ea0], 0
jmp 0x700ecff8
mov edi, dword [ebx + 0x15ca24]
test edi, edi
je 0x700ed8e0
mov eax, dword [ebx + 0x1f5ea4]
cmp eax, 3
je 0x700ed980
test eax, eax
jne 0x700ed7b0
mov esi, dword [ebx + 0x15613c]
xor edx, edx
test esi, esi
je 0x700ed610
mov edx, eax
mov eax, dword [ebx + 0x156148]
test eax, eax
jne 0x700ed610
mov esi, dword [ebx + 0x15cc04]
test esi, esi
je 0x700ed9c1
mov eax, dword [ebx + 0x15cc38]
mov edx, 3
test eax, eax
jne 0x700ed610
mov eax, dword [ebx + 0x15cc3c]
test eax, eax
jne 0x700ed9cf
mov edx, 2
lea esi, [esi]
lea eax, [edx + edx*4]
mov edi, dword [ebx + eax*4 + 0x161498]
cmp dword [ebx + eax*4 + 0x161494], edi
setle al
movzx eax, al
add eax, 3
mov dword [ebx + 0x156170], eax
jmp 0x700ed091
mov edx, dword [ebx + 0x15c848]
mov eax, dword [ebx + 0x15c83c]
add edx, dword [ebx + 0x15c82c]
add eax, dword [ebx + 0x15c81c]
add edx, dword [ebx + 0x15c85c]
add eax, dword [ebx + 0x15c854]
mov esi, dword [ebx + 0x15c850]
add esi, dword [ebx + 0x15c844]
add eax, edx
mov edx, dword [ebx + 0x15c834]
add edx, dword [ebx + 0x15c824]
mov ecx, dword [ebx + 0x15c838]
add ecx, dword [ebx + 0x15c828]
mov edi, edx
mov ebp, dword [ebx + 0x15c860]
mov dword [esp + 0x18], eax
or edi, esi
mov eax, dword [ebx + 0x15c84c]
add eax, dword [ebx + 0x15c830]
or edi, ecx
add eax, dword [ebx + 0x15c820]
add ebp, dword [ebx + 0x15c858]
add eax, dword [ebx + 0x15c840]
or edi, dword [esp + 0x18]
je 0x700ed960
or esi, ebp
or esi, edx
or esi, ecx
or esi, eax
je 0x700ed9a0
or edx, eax
or edx, dword [esp + 0x18]
je 0x700ed8f0
mov edi, dword [esp + 0x18]
or eax, ecx
or edi, eax
jne 0x700ed458
mov dword [ebx + 0x156170], 2
mov edx, 2
jmp 0x700ed96f
jl 0x700ed700
cmp edi, dword [esp + 0x2c]
ja 0x700ed063
nop
mov ecx, 4
jmp 0x700ed065
cmp esi, edi
jbe 0x700ed05b
jmp 0x700ed564
jl 0x700ed72a
cmp esi, edi
ja 0x700ecf6d
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
shl eax, 5
lea eax, [ebx + eax + 0x161508]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x2c], edi
cmp eax, ecx
jg 0x700ed580
jmp 0x700ed568
cmp esi, edi
ja 0x700ecf48
nop
jmp 0x700ed528
jl 0x700ed776
cmp esi, ecx
lea esi, [esi]
ja 0x700ed48a
mov edi, dword [esp + 0x20]
lea edx, [edi + edi*2]
lea edx, [ebx + edx*8]
mov esi, dword [edx + 0x161350]
mov edx, dword [edx + 0x161354]
cmp eax, edx
jl 0x700ed7a0
jg 0x700ecf1c
cmp ecx, esi
ja 0x700ecf1c
nop
mov ebp, 2
jmp 0x700ecf1e
mov esi, dword [ebx + 0x1f7d58]
mov eax, dword [ebx + 0x1f7d5c]
add eax, esi
add eax, dword [ebx + 0x1f7d60]
add eax, dword [ebx + 0x1f7d64]
je 0x700ed091
xor edi, edi
xor edx, edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
fild qword [esp + 0x38]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x3c], edx
fild qword [esp + 0x38]
fdivp st(1)
fld qword [0x707a04e0]
fxch st(1)
fucompi st(1)
fstp st(0)
setbe al
add eax, 3
mov dword [ebx + 0x156170], eax
jmp 0x700ed091
mov eax, dword [ebx + 0x1613cc]
add eax, dword [ebx + 0x1613c4]
add eax, dword [ebx + 0x1613d4]
add eax, dword [ebx + 0x1613dc]
add eax, dword [ebx + 0x1613e4]
mov edx, dword [ebx + 0x1613c8]
add edx, dword [ebx + 0x1613c0]
add edx, dword [ebx + 0x1613d0]
add edx, dword [ebx + 0x1613d8]
add edx, dword [ebx + 0x1613e0]
test eax, eax
je 0x700ed912
test edx, edx
jne 0x700ed44b
lea edi, [ebx + 0x1613c0]
mov dl, 0x28
test edi, 1
mov dword [ebx + 0x156eb0], 1
je 0x700ed933
mov byte [ebx + 0x1613c0], 0
lea edi, [ebx + 0x1613c1]
mov dl, 0x27
jmp 0x700ed933
mov eax, dword [ebx + 0x15cc38]
test eax, eax
je 0x700ed8b5
mov ebp, dword [ebx + 0x156ea0]
mov dword [esp + 0x20], 1
test ebp, ebp
je 0x700ecf1c
jmp 0x700ed460
mov ebp, dword [ebx + 0x15cc3c]
test ebp, ebp
jne 0x700ed89a
mov ebp, dword [ebx + 0x156ea0]
mov dword [esp + 0x20], 2
test ebp, ebp
je 0x700ecf1c
jmp 0x700ed460
mov dword [ebx + 0x156170], 4
jmp 0x700ed091
mov dword [ebx + 0x156170], 3
jmp 0x700ed458
cmp esi, edi
jbe 0x700ecf8f
mov ecx, 1
jmp 0x700ed065
lea edi, [ebx + 0x1613c0]
mov edx, 0x28
test edi, 1
mov dword [ebx + 0x156eb0], 0
jne 0x700ed87a
test edi, 2
jne 0x700ed9d9
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
jne 0x700ed990
and edx, 1
je 0x700ed44b
mov byte [edi], 0
jmp 0x700ed44b
mov dword [ebx + 0x156170], 1
mov edx, 1
add esp, 0x4c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp 0x700e3710
mov dword [ebx + 0x156170], 3
jmp 0x700ed091
xor eax, eax
add edi, 2
mov word [edi - 2], ax
jmp 0x700ed94d
mov dword [ebx + 0x156170], 0
xor edx, edx
jmp 0x700ed96f
cmp esi, dword [eax + 0x161350]
jbe 0x700ed7a0
jmp 0x700ed4a6
mov eax, dword [ebx + 0x15cc38]
test eax, eax
je 0x700ed5fa
mov edx, 1
jmp 0x700ed610
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub edx, 2
jmp 0x700ed93f
add esp, 0x4c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp 0x700eb720