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

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov eax, 0x3118
call fcn.703e0830
xor ebx, ebx
sub esp, eax
mov esi, edx
mov eax, dword [esp + 0x3118]
mov edx, dword [esp + 0x3174]
mov dword [esp + 0x50], ecx
mov ebp, eax
mov eax, dword [esp + 0x3170]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x6134]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
test eax, eax
setg bl
mov dword [esp + 0x40], ebx
jle 0x701051e1
mov ebx, dword [edi]
mov edx, ebx
mov dword [esp + 0x54], ebx
mov ebx, dword [edi + 8]
shl edx, 4
add edx, dword [esp + 0x315c]
mov ecx, ebx
mov dword [esp + 0x4c], ebx
xor ebx, ebx
test eax, eax
cmovs eax, ebx
mov dword [esp + 0x38], eax
mov eax, ecx
shl eax, 2
lea ecx, [edx + eax]
cmp dword [ecx], 0x80008000
mov dword [esp + 0x30], edx
mov dword [esp + 0x60], ecx
je 0x701051cc
mov ebx, dword [esp + 0x38]
mov ecx, edx
lea edx, [ebx*4]
add ecx, edx
cmp dword [ecx], 0x80008000
je 0x701051cc
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x48], ebx
lea ebx, [esp + 0x10e]
mov dword [esp + 0x64], ebx
and dword [esp + 0x64], 0xfffffff0
cmp dword [esp + 0x54], 0xd
je 0x701069bc
mov dword [esp + 0x68], 2
jmp 0x70105235
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x3140]
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3130]
mov dword [esp + 0x18], edx
mov edx, esi
mov dword [esp + 0xbc], 0x7fffffff
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x316c]
mov dword [esp + 8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3144]
mov dword [esp], eax
mov eax, ebp
call fcn.701027b0
mov eax, dword [esp + 0x3140]
mov eax, dword [eax]
cmp eax, 0x7fffffff
jne 0x70106b60
mov eax, dword [esp + 0x3134]
mov dword [eax], 0x7fffffff
mov eax, dword [esp + 0x3138]
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0x7fffffff
mov eax, dword [esp + 0xd4]
mov dword [esi + 0x6078], eax
mov eax, dword [esp + 0xe4]
mov dword [esi + 0x607c], eax
mov eax, dword [esp + 0xd8]
mov dword [esi + 0x60b4], eax
mov eax, dword [esp + 0xe8]
mov dword [esi + 0x60b8], eax
mov eax, dword [esp + 0xdc]
mov dword [esi + 0x60f0], eax
mov eax, dword [esp + 0xec]
mov dword [esi + 0x60f4], eax
add esp, 0x311c
mov eax, 0xffffffff
pop ebx
mov edx, 0x7fffffff
pop esi
pop edi
pop ebp
ret
mov ecx, dword [edi]
mov ebx, dword [edi + 8]
mov edx, ecx
shl edx, 4
add edx, dword [esp + 0x315c]
test eax, eax
cmovs eax, dword [esp + 0x40]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x10e]
mov dword [esp + 0x64], eax
and dword [esp + 0x64], 0xfffffff0
cmp ecx, 0xd
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], ebx
je 0x70105788
lea eax, [edx + ebx*4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], 1
mov eax, dword [esp + 0x54]
sub eax, 0xa
cmp eax, 2
mov dword [esp + 0x54], eax
ja 0x70105253
mov eax, dword [esp + 0x60]
mov ebx, dword [eax]
test ebx, ebx
je 0x70106760
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x48], 0xd
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xc4], eax
je 0x70106080
mov eax, dword [esi + 0x6154]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x6150]
lea edx, [eax - 0x4e0]
mov eax, dword [esi + 0x614c]
mov ebx, eax
mov eax, dword [esi + 0x6148]
lea ecx, [eax - 0x4e0]
movsx eax, word [esp + 0xc6]
cmp eax, ecx
jl 0x701052b3
mov ecx, ebx
add ecx, 0x4e0
cmp eax, ecx
cmovle ecx, eax
mov eax, ecx
mov word [esp + 0xc6], cx
movsx ecx, word [esp + 0xc4]
cmp ecx, edx
jl 0x701052d8
mov edx, dword [esp + 0x4c]
add edx, 0x4e0
cmp ecx, edx
cmovle edx, ecx
mov word [esp + 0xc4], dx
sar ax, 3
sar dx, 3
cwde
cmp eax, dword [esi + 0x107330]
movsx ecx, dx
setl dl
cmp eax, dword [esi + 0x107334]
setg al
or edx, eax
cmp ecx, dword [esi + 0x10733c]
setg al
or dl, al
jne 0x701051cc
cmp ecx, dword [esi + 0x107338]
jl 0x701051cc
mov eax, dword [esp + 0xc4]
cmp dword [esp + 0x68], 1
mov dword [edi + 0x14], eax
jle 0x70105402
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
cmp dword [esp + 0x48], 0xd
mov eax, dword [eax + ebx*4]
mov dword [esp + 0xc8], eax
je 0x70106066
mov eax, dword [esi + 0x6150]
movsx edx, word [esp + 0xca]
mov ebx, dword [esi + 0x6154]
lea ecx, [eax - 0x4e0]
mov eax, dword [esi + 0x614c]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x6148]
sub eax, 0x4e0
cmp eax, edx
jg 0x70105390
mov eax, dword [esp + 0x30]
add eax, 0x4e0
cmp edx, eax
cmovle eax, edx
mov edx, eax
mov word [esp + 0xca], ax
movsx eax, word [esp + 0xc8]
cmp ecx, eax
jg 0x701053b1
lea ecx, [ebx + 0x4e0]
cmp eax, ecx
cmovle ecx, eax
mov word [esp + 0xc8], cx
sar cx, 3
movsx ecx, cx
sar dx, 3
cmp ecx, dword [esi + 0x10733c]
movsx edx, dx
setg al
cmp ecx, dword [esi + 0x107338]
setl cl
or eax, ecx
cmp edx, dword [esi + 0x107330]
setl cl
or al, cl
jne 0x701051cc
cmp edx, dword [esi + 0x107334]
jg 0x701051cc
mov eax, dword [esp + 0xc8]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x6078]
mov dword [esp + 0xd4], eax
mov eax, dword [esi + 0x607c]
mov dword [esp + 0xe4], eax
mov eax, dword [esi + 0x60b4]
mov dword [esp + 0xd8], eax
mov eax, dword [esi + 0x60b8]
mov dword [esp + 0xe8], eax
mov eax, dword [esi + 0x60f0]
mov dword [esp + 0xdc], eax
mov eax, dword [esi + 0x60f4]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x3134]
mov ebx, dword [eax]
mov eax, dword [edi + 8]
movzx eax, byte [edi + eax + 0x44]
mov dword [esp + 8], 3
mov byte [esp + 0x30], al
mov eax, dword [ebp + 0xe134]
mov eax, dword [eax]
movzx eax, byte [eax + 0x49]
mov dword [esp + 4], eax
lea eax, [ebp + 0x156e30]
mov dword [esp], eax
call fcn.700dec30
xor edx, edx
test eax, eax
jne 0x701054b3
cmp dword [esp + 0x54], 3
ja 0x70105d53
movzx eax, byte [esp + 0x30]
mov ecx, dword [esp + 0x54]
lea eax, [ecx + eax*4 + 0x4189c]
mov edx, dword [ebp + eax*4 + 0x800c]
mov eax, dword [esp + 0x3134]
add edx, ebx
mov dword [eax], edx
mov eax, dword [esp + 0x3150]
mov ebx, dword [eax]
test ebx, ebx
jne 0x701054ed
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x70106957
mov edx, dword [ebp + 0x156eb0]
xor eax, eax
mov ebx, dword [esp + 0x3150]
test edx, edx
sete al
mov dword [ebx], eax
xor eax, eax
test byte [edi + 0x14], 0xf
jne 0x701054fe
xor eax, eax
test byte [edi + 0x16], 0xf
sete al
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x7010551c
test byte [edi + 0x18], 0xf
jne 0x70106950
test byte [edi + 0x1a], 0xf
mov edx, 0
cmovne eax, edx
cmp dword [ebp + 0x1561a8], 3
lea ebx, [ebp + 0x153a80]
mov dword [esp + 0x54], ebx
lea ebx, [esi + 0x6060]
mov dword [esp + 0x48], ebx
je 0x70106934
mov ebx, dword [esp + 0x3158]
mov dword [ebx], 0
mov ebx, dword [ebp + 0x1f5ef0]
cmp dword [esi + 0x6218], ebx
jb 0x70105cf0
mov ebx, eax
xor eax, 1
and ebx, 1
and eax, 1
mov byte [esp + 0x70], bl
mov ebx, dword [esp + 0xd4]
mov byte [esp + 0xaf], al
mov eax, edi
mov dword [ebp + 0x161590], 0xffffffff
mov dword [ebp + 0x161594], 0x7fffffff
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x60], 0x7fffffff
mov dword [esp + 0xa8], ebx
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov ebx, esi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x30]
mov dword [eax + 0x4c], edi
mov eax, dword [esp + 0x54]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.7012f3b0
mov eax, dword [ebx + 0x6134]
mov esi, dword [eax]
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.70191760
mov ecx, dword [ebx + 0x61e4]
movzx eax, al
lea eax, [eax + eax*2]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x4c]
add dword [esp + 0x38], eax
mov eax, ecx
mov esi, dword [esp + 0x38]
imul dword [ebx + esi*4 + 0x1072fc]
mov dword [esp + 0x38], eax
add dword [esp + 0x38], 0x80
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], edx
adc dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
shrd eax, edx, 8
sar edx, 8
test edi, edi
mov dword [esp + 0x38], eax
setg al
and al, byte [esp + 0x70]
mov dword [esp + 0x3c], edx
mov byte [esp + 0x68], al
je 0x70105d80
mov eax, ecx
mov esi, dword [esp + 0x88]
imul dword [esp + 0x84]
mov ecx, dword [ebx + 0x61e0]
mov edi, dword [esp + 0x8c]
add eax, 0x80
adc edx, 0
shrd eax, edx, 8
shld edi, esi, cl
sar edx, 8
shl esi, cl
test cl, 0x20
je 0x701056c1
mov edi, esi
xor esi, esi
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x30]
mov dword [ebp + edi*8 + 0x161578], eax
mov dword [ebp + edi*8 + 0x16157c], edx
mov ecx, dword [ebp + 0x161594]
add eax, dword [esp + 0x38]
adc edx, dword [esp + 0x3c]
mov esi, dword [ebp + 0x161590]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jl 0x70105710
jg 0x70105d74
cmp eax, esi
ja 0x70105d74
lea esi, [esi]
mov ecx, dword [ebp + 0x1561a8]
mov dword [ebp + 0x161590], eax
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x161594], edx
cmp ecx, 4
mov esi, dword [ebp + eax*8 + 0x161578]
mov edi, dword [ebp + eax*8 + 0x16157c]
je 0x70106971
cmp dword [esp + 0x60], edi
jge 0x70106010
cmp ecx, 4
mov esi, dword [esp + 0x78]
mov eax, ecx
mov edi, dword [esp + 0x60]
je 0x70105767
mov edx, dword [esp + 0x4c]
cmp eax, dword [edx + 0x4c]
jne 0x70105767
mov dword [esp + 0x74], 1
add dword [esp + 0x30], 1
cmp dword [esp + 0x30], 3
je 0x70106095
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x60], edi
jmp 0x701055f1
mov ebx, dword [esp + 0x38]
lea edx, [esp + 0xe4]
xor eax, eax
mov dword [edx + eax], 0
add eax, 4
cmp eax, 0x18
jb 0x70105795
mov eax, dword [esi + 0x61d8]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [edi + eax*8 + 0x1c]
mov dword [esp + 0xb8], eax
mov eax, dword [esi + 0x6070]
lea edx, [eax + ebx*2]
mov eax, dword [esi + 0x6074]
lea eax, [eax + edx*2]
mov eax, dword [eax*4 + 0x7079ef00]
cmp eax, 0xc
mov dword [esp + 0x98], eax
jbe 0x70105809
mov dword [esp + 8], 0x11d
mov dword [esp + 4], 0x707a2820
mov dword [esp], 0x707a284f
call fcn.6feeef40
mov eax, dword [esi + 0x107330]
cmp dword [esp + 0x4c], 1
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x107334]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x107338]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x10733c]
mov dword [esp + 0x7c], eax
je 0x70106d33
mov ebx, dword [esp + 0x4c]
xor edx, edx
mov eax, dword [ebp + 0x15cc28]
cmp ebx, 2
setne dl
add edx, 1
cmp ebx, 2
cmove eax, dword [ebp + 0x15cc24]
mov edx, dword [ebp + edx*4 + 0x15cc14]
cmp edx, dword [ebp + eax*4 + 0x155fc8]
mov dword [esp + 0x60], 0
je 0x701059e5
imul edx, edx, 0x5c
lea eax, [ebp + edx + 0x155b48]
mov edx, dword [esi + 0x6084]
mov ecx, eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x6080]
mov dword [esp + 0xe8], edx
mov edx, dword [esi + 0x60c0]
mov dword [esp + 0xe4], eax
mov eax, dword [esi + 0x60bc]
mov dword [esp + 0xf0], edx
mov edx, dword [esi + 0x60fc]
mov dword [esp + 0xec], eax
mov eax, dword [esi + 0x60f8]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xf4], eax
mov ebx, dword [ecx + 0x34]
mov eax, ecx
mov dword [esp + 0xc4], ebx
mov ecx, dword [ecx + 0x38]
mov dword [esp + 0x84], ebx
mov ebx, dword [eax + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0xd4], ebx
mov eax, dword [eax + 0x24]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0xd8], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x3160]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x3164]
lea ecx, [eax*8]
mov dword [esp + 0x48], ecx
mov ecx, dword [esi + 0x6070]
shl edx, 3
mov dword [esp + 0x68], edx
sar edx, cl
mov ecx, dword [esi + 0x6074]
mov eax, edx
mov edx, dword [esp + 0x48]
sar edx, cl
imul edx, ebx
add eax, edx
add eax, dword [esp + 0x84]
mov dword [esi + 0x6080], eax
mov ecx, dword [esi + 0x60ac]
mov edx, dword [esp + 0x68]
mov dword [esi + 0x6084], ebx
mov ebx, dword [esp + 0x80]
sar edx, cl
mov ecx, dword [esi + 0x60b0]
mov eax, edx
mov edx, dword [esp + 0x48]
mov dword [esi + 0x60c0], ebx
mov dword [esi + 0x60fc], ebx
sar edx, cl
mov ecx, dword [esi + 0x60e8]
imul edx, ebx
add eax, edx
mov edx, dword [esp + 0x68]
add eax, dword [esp + 0x88]
sar edx, cl
mov ecx, dword [esi + 0x60ec]
mov dword [esi + 0x60bc], eax
mov eax, edx
mov edx, dword [esp + 0x48]
sar edx, cl
imul edx, ebx
add eax, edx
add eax, dword [esp + 0x90]
mov dword [esi + 0x60f8], eax
lea eax, [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.700ce730
mov eax, dword [esi + 0x11535c]
test eax, eax
je 0x70106d10
xor ecx, ecx
cmp eax, 1
setg cl
lea ecx, [ecx + ecx + 6]
mov eax, dword [ebp + 0x1f5ee4]
test eax, eax
je 0x70105a56
cmp dword [esp + 0x50], 0xb
ja 0x70105a56
mov eax, dword [ebp + 0x156140]
test eax, eax
je 0x70105a56
mov ebx, dword [esp + 0x50]
mov edx, dword [0x7079f4f0]
mov eax, dword [ebx*4 + 0x7079f480]
cmp dword [ebx*4 + 0x7079f4c0], eax
cmovle eax, dword [ebx*4 + 0x7079f4c0]
sub edx, eax
add edx, edx
cmp ecx, edx
cmovl ecx, edx
mov eax, dword [esp + 0x4c]
shl eax, 2
mov dword [esp + 0x68], eax
add eax, esi
mov dword [esp + 0x80], eax
mov eax, dword [eax + 0x61f8]
cmp eax, 1
jle 0x70106d40
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x115360]
mov dword [esp + 0xb4], eax
mov eax, dword [ebp + 0x1f5dd8]
sar word [esp + 0xb6], 3
sar word [esp + 0xb4], 3
mov edx, dword [ebp + 0x1f5e7c]
cmp eax, 2
je 0x70106e02
cmp eax, 4
je 0x70106e8e
cmp eax, 3
je 0x70106d51
imul eax, dword [esp + 0x98], 0x2c
lea ebx, [esp + 0xb0]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x24], ebx
lea ebx, [esp + 0xb8]
lea eax, [ebp + eax + 0x1f6f6c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x1c], eax
lea eax, [edx - 1]
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
lea eax, [esp + 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.700db9f0
mov ebx, dword [esp + 0x70]
cmp eax, 0x7fffffff
lea edx, [esi + 0x621c]
mov dword [esi + 0x107330], ebx
mov ebx, dword [esp + 0x74]
mov dword [esi + 0x107334], ebx
mov ebx, dword [esp + 0x78]
mov dword [esi + 0x107338], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x10733c], ebx
je 0x70105bdf
lea eax, [esp + 0xd4]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x8622c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x1f5de8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x61d4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x15614c]
mov dword [esp], esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call dword [ebp + 0x1f6f58]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x10], 0x6c
mov eax, dword [esi + 0x8622c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.700ce810
mov ebx, dword [ebp + 0x1f5ee4]
test ebx, ebx
mov dword [esp + 0xd4], eax
je 0x70106b10
mov ecx, dword [ebp + 0x156140]
test ecx, ecx
je 0x70106b10
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x48], edx
mov dword [ebx + 0x115360], edx
mov edx, dword [esp + 0x60]
test edx, edx
je 0x70105c9d
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov dword [esi + 0x6080], edx
mov edx, dword [esp + 0xec]
mov dword [esi + 0x6084], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esi + 0x60bc], edx
mov edx, dword [esp + 0xf4]
mov dword [esi + 0x60c0], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esi + 0x60f8], edx
mov dword [esi + 0x60fc], ecx
mov ebx, dword [esp + 0x3134]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add dword [ebx], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x30]
mov dword [esp + 0x68], 1
mov ebx, eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x6134]
mov eax, dword [eax]
mov dword [eax + 0x58], edx
mov dword [ebx], edx
mov ebx, dword [esp + 0x3168]
mov eax, dword [esp + 0xb0]
mov dword [ebx + ecx*4], eax
mov dword [esp + 0x48], 0xd
jmp 0x70105235
lea eax, [ebp + 0x161578]
mov ebx, 0x20
test al, 1
jne 0x70106f0a
test al, 2
jne 0x70106ef9
mov ecx, ebx
xor edx, edx
and ecx, 0xfffffffc
mov dword [eax + edx], 0
add edx, 4
cmp edx, ecx
jb 0x70105d12
add eax, edx
test bl, 2
je 0x70105d30
xor edx, edx
add eax, 2
mov word [eax - 2], dx
and ebx, 1
je 0x70105d38
mov byte [eax], 0
mov dword [esp + 0x7c], 0
mov ecx, dword [ebp + 0x1561a8]
mov dword [esp + 0x74], 0
jmp 0x701060e9
mov dword [esp + 8], 0x5a5
mov dword [esp + 4], str..._source_libvpx_1.3.0_vp9_encoder_vp9_rdopt.c
mov dword [esp], str.is_inter_mode_mode_
call fcn.6feeef40
jmp 0x7010549c
mov eax, esi
mov edx, ecx
jmp 0x70105710
mov eax, dword [ebp + 0x1561a8]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
cmp eax, 4
je 0x701066c5
mov edi, dword [esp + 0x4c]
cmp eax, dword [edi + 0x4c]
je 0x70106af0
mov eax, dword [esp + 0x30]
test eax, eax
sete al
mov byte [esp + 0x80], al
and al, byte [esp + 0x70]
je 0x701066e2
mov byte [esp + 0x68], al
mov byte [esp + 0x80], al
mov eax, dword [esp + 0xa4]
mov dword [ebx + 0x6078], eax
mov eax, dword [esp + 0xa8]
mov dword [ebx + 0x607c], eax
mov eax, dword [esp + 0xd8]
mov dword [ebx + 0x60b4], eax
mov eax, dword [esp + 0xe8]
mov dword [ebx + 0x60b8], eax
mov eax, dword [esp + 0xdc]
mov dword [ebx + 0x60f0], eax
mov eax, dword [esp + 0xec]
mov dword [ebx + 0x60f4], eax
mov eax, dword [esp + 0x3164]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3160]
mov dword [esp + 0xc], edi
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.7012f760
lea eax, [esp + 0xb8]
mov edx, edi
mov dword [esp + 8], eax
lea eax, [esp + 0xb4]
mov ecx, ebx
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], esi
call fcn.700fd780
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xbc]
mov ecx, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xb8]
mov edi, edx
mov dword [esp + 0x9c], edx
mov esi, eax
mov dword [esp + 0x98], eax
mov eax, ecx
mov ecx, dword [ebx + 0x61e0]
imul dword [ebx + 0x61e4]
add eax, 0x80
adc edx, 0
shrd eax, edx, 8
shld edi, esi, cl
sar edx, 8
shl esi, cl
test cl, 0x20
je 0x70105ed9
mov edi, esi
xor esi, esi
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x30]
mov dword [ebp + edi*8 + 0x161578], eax
mov dword [ebp + edi*8 + 0x16157c], edx
mov ecx, dword [ebp + 0x161594]
add eax, dword [esp + 0x38]
adc edx, dword [esp + 0x3c]
mov esi, dword [ebp + 0x161590]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x94]
cmp edx, ecx
jl 0x70105f30
jg 0x70106004
cmp eax, esi
ja 0x70106004
lea esi, [esi]
mov ecx, dword [ebp + 0x1561a8]
mov dword [ebp + 0x161590], eax
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x161594], edx
cmp ecx, 4
mov esi, dword [ebp + eax*8 + 0x161578]
mov edi, dword [ebp + eax*8 + 0x16157c]
je 0x70106980
cmp byte [esp + 0x68], 0
je 0x70105f8e
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x84], eax
cmp byte [esp + 0x80], 0
je 0x7010573d
cmp dword [ebp + 0x1f5f14], 0
je 0x7010601c
cmp dword [esp + 0x5c], 0x7fffffff
je 0x70106fb5
mov eax, edi
xor edx, edx
shr eax, 0x1f
add eax, esi
adc edx, edi
shrd eax, edx, 1
sar edx, 1
cmp dword [esp + 0x5c], edx
jg 0x7010601c
jl 0x70105fd2
cmp dword [esp + 0x58], eax
jae 0x7010601c
lea ebx, [ebx + 0x6078]
xor ecx, ecx
lea eax, [esp + 0xd4]
lea edx, [esp + 0xe4]
mov esi, dword [eax + ecx*4]
add ebx, 0x3c
mov dword [ebx - 0x3c], esi
mov esi, dword [edx + ecx*4]
add ecx, 1
mov dword [ebx - 0x38], esi
cmp ecx, 3
jne 0x70105fe8
jmp 0x701051cc
mov eax, esi
mov edx, ecx
jmp 0x70105f30
jg 0x7010601c
cmp dword [esp + 0x78], esi
jbe 0x70105747
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x3158]
mov eax, dword [eax + 0x4c]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x1561a8]
cmp ecx, 4
mov eax, ecx
jne 0x70105756
mov eax, dword [esp + 0x30]
test eax, eax
je 0x7010575f
mov edx, dword [esp + 0x7c]
mov eax, edx
xor eax, 1
cmp byte [esp + 0xaf], 0
cmove eax, edx
mov dword [esp + 0x7c], eax
jmp 0x7010575f
movzx ecx, word [esp + 0xc8]
movzx edx, word [esp + 0xca]
jmp 0x701053b9
movzx edx, word [esp + 0xc4]
movzx eax, word [esp + 0xc6]
jmp 0x701052e0
mov eax, dword [esp + 0xd4]
mov esi, ebx
mov edi, dword [esp + 0x4c]
mov dword [ebx + 0x6078], eax
mov eax, dword [esp + 0xe4]
mov dword [ebx + 0x607c], eax
mov eax, dword [esp + 0xd8]
mov dword [ebx + 0x60b4], eax
mov eax, dword [esp + 0xe8]
mov dword [ebx + 0x60b8], eax
mov eax, dword [esp + 0xdc]
mov dword [ebx + 0x60f0], eax
mov eax, dword [esp + 0xec]
mov dword [ebx + 0x60f4], eax
cmp ecx, 4
jne 0x701060f7
mov eax, dword [esp + 0x3158]
mov ecx, dword [eax]
mov eax, dword [esp + 0x54]
xor ebx, ebx
mov dword [edi + 0x4c], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.7012f3b0
cmp dword [ebp + 0x1561a8], 4
je 0x70106ac1
mov eax, dword [esp + 0x74]
test eax, eax
je 0x70106730
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x70106177
mov edi, dword [esp + 0x64]
mov dword [esi + 0x607c], 0x40
mov dword [esi + 0x60b8], 0x40
mov dword [esi + 0x60f4], 0x40
mov eax, edi
add eax, 0x1000
mov dword [esi + 0x60b4], eax
mov eax, edi
add eax, 0x2000
mov dword [esi + 0x6078], edi
mov dword [esi + 0x60f0], eax
mov eax, dword [ebp + 0x1f5f14]
test eax, eax
je 0x70106270
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
xor edx, 0x7fffffff
not eax
or edx, eax
je 0x70106270
lea eax, [esp + 0xb8]
mov edx, dword [esp + 0x50]
mov ecx, esi
mov dword [esp + 8], eax
lea eax, [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov eax, ebp
call fcn.700fd780
mov ecx, dword [esp + 0xb4]
mov eax, ebx
mov dword [esp + 0x30], ebx
cdq
mov edi, dword [esi + 0x61e4]
mov dword [esp + 0x34], edx
mov ebx, ecx
sar ebx, 0x1f
add dword [esp + 0x30], ecx
adc dword [esp + 0x34], ebx
mov ebx, edi
mov edx, dword [esp + 0x34]
sar ebx, 0x1f
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
imul edx, edi
imul ecx, ebx
add ecx, edx
mul edi
add edx, ecx
add eax, 0x80
mov ecx, dword [esi + 0x61e0]
adc edx, 0
xor ebx, ebx
shrd eax, edx, 8
sar edx, 8
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0xbc]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, ebx
add dword [esp + 0x30], eax
adc dword [esp + 0x34], edx
xor edx, edx
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, ebx
shr eax, 0x1f
add eax, ecx
adc edx, ebx
shrd eax, edx, 1
sar edx, 1
cmp dword [esp + 0x5c], edx
jle 0x70106990
nop
cmp dword [ebp + 0x1561a8], 4
je 0x70106b20
mov edi, dword [esp + 0x40]
test edi, edi
jne 0x701066b0
mov ebx, dword [ebp + 0x1f7d74]
test ebx, ebx
je 0x701066b0
mov ecx, dword [ebp + 0x1f6f54]
test ecx, ecx
je 0x701062d0
mov eax, dword [esi + 0x107748]
cmp byte [eax], 0
jne 0x701062d0
mov dword [esi + 0x107740], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
jmp 0x7010664e
mov edx, dword [esi + 0x107744]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
test edx, edx
je 0x70106640
mov eax, dword [esi + 0x6070]
mov edi, dword [esp + 0x50]
lea edx, [eax + edi*2]
mov eax, dword [esi + 0x6074]
lea eax, [eax + edx*2]
mov eax, dword [eax*4 + 0x7079ef00]
cmp eax, 0xc
mov dword [esp + 0x30], eax
ja 0x70106ddd
mov eax, dword [esi + 0x60ac]
lea edx, [eax + edi*2]
mov eax, dword [esi + 0x60b0]
lea eax, [eax + edx*2]
mov eax, dword [eax*4 + 0x7079ef00]
cmp eax, 0xc
mov dword [esp + 0x40], eax
ja 0x70106e6d
mov edi, dword [esi + 0x107744]
mov eax, pe_nt_image_headers32
mov ebx, 0x8ca0
mov edx, 0x38e38e39
shl edi, 4
cmp dword [ebp + 0x1f7d74], 2
cmove ebx, eax
mov eax, dword [esi + 0x6090]
movsx ecx, word [eax + 2]
imul ecx, ecx
mov eax, ecx
imul edx
sar ecx, 0x1f
sar edx, 1
sub edx, ecx
cmp edx, edi
cmovb edx, edi
cmp ebx, edx
cmovbe edx, ebx
mov dword [esp + 0x38], edx
lea edx, [esp + 0xb0]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x607c]
imul eax, dword [esp + 0x30], 0x2c
mov dword [esp + 0xc], edx
mov edx, dword [esi + 0x6078]
mov dword [esp + 8], edx
mov edx, dword [esi + 0x2008]
mov dword [esp + 4], edx
mov edx, dword [esi + 0x2004]
mov dword [esp], edx
call dword [ebp + eax + 0x1f6f74]
mov ebx, dword [esp + 0x50]
mov ecx, 8
mov edi, eax
mov eax, dword [ebx*4 + 0x7079f4c0]
add eax, dword [ebx*4 + 0x7079f480]
sub ecx, eax
mov eax, dword [esp + 0xb0]
shr dword [esp + 0x38], cl
cmp dword [esp + 0x38], eax
ja 0x70106408
test eax, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
jne 0x70106640
mov edx, dword [esi + 0x6090]
movsx ebx, word [edx]
mov edx, eax
sub edx, edi
imul ebx, ebx
sar ebx, 6
cmp ebx, edx
ja 0x70106437
cmp edi, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
jne 0x70106640
lea eax, [esp + 0xb4]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x60b8]
imul edx, dword [esp + 0x40], 0x2c
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x60b4]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x4028]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x4024]
mov dword [esp], eax
call dword [ebp + edx + 0x1f6f74]
mov edx, dword [esp + 0xb4]
mov ecx, eax
lea eax, [edx*4]
cmp dword [esp + 0x38], eax
ja 0x70106493
test edx, edx
jne 0x701066b0
mov eax, edx
sub eax, ecx
cmp ebx, eax
ja 0x701064a3
cmp ecx, edx
jne 0x701066b0
lea eax, [esp + 0xb8]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x60f4]
imul edx, dword [esp + 0x40], 0x2c
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x60f0]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x6048]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x6044]
mov dword [esp], eax
call dword [ebp + edx + 0x1f6f74]
mov ecx, dword [esp + 0xb8]
mov edx, eax
lea eax, [ecx*4]
cmp dword [esp + 0x38], eax
ja 0x701064ff
test ecx, ecx
jne 0x701066b0
mov eax, ecx
sub eax, edx
cmp ebx, eax
ja 0x7010650f
cmp edx, ecx
jne 0x701066b0
mov eax, dword [esp + 0x3134]
mov dword [esi + 0x107740], 1
mov edi, dword [eax]
mov eax, dword [esi + 0x6140]
test eax, eax
jne 0x70106f99
mov eax, dword [esi + 0x6134]
xor edx, edx
xor ebx, ebx
cmp dword [esi + 0x6144], 0
je 0x70106546
mov ebx, dword [eax - 4]
test edx, edx
je 0x70106fcc
movzx edx, byte [edx + 0x48]
test ebx, ebx
je 0x70106fc5
movzx eax, byte [ebx + 0x48]
add edx, ebp
movzx edx, byte [eax + edx + 0x157663]
mov eax, 0xff
mov dword [esp + 0x3c], 0
sub eax, edx
xor edx, edx
add edi, dword [eax*4 + 0x707ae320]
mov eax, edi
mov edi, dword [esp + 0x3134]
mov dword [edi], eax
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0x314c]
add eax, ecx
mov ecx, dword [esp + 0xb0]
shl eax, 4
mov dword [edi], eax
mov dword [edi + 4], edx
mov edi, dword [esp + 0x3138]
shl ecx, 4
mov dword [esp + 0x38], ecx
add dword [esp + 0x38], eax
adc dword [esp + 0x3c], edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [edi], eax
mov eax, dword [esp + 0x3154]
mov dword [edi + 4], edx
mov edi, dword [esp + 0x3134]
mov dword [eax], 1
mov eax, dword [esi + 0x61e4]
imul dword [edi]
mov dword [esp + 0x30], eax
add dword [esp + 0x30], 0x80
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], edx
adc dword [esp + 0x34], 0
mov ebx, dword [esp + 0x34]
shrd ecx, ebx, 8
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x61e0]
sar ebx, 8
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x34], ebx
xor ebx, ebx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, ebx
add dword [esp + 0x30], eax
adc dword [esp + 0x34], edx
nop
lea esi, [esi]
mov edi, dword [esi + 0x107740]
test edi, edi
je 0x701050e0
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x6078], eax
mov eax, dword [esp + 0xe4]
mov dword [esi + 0x607c], eax
mov eax, dword [esp + 0xd8]
mov dword [esi + 0x60b4], eax
mov eax, dword [esp + 0xe8]
mov dword [esi + 0x60b8], eax
mov eax, dword [esp + 0xdc]
mov dword [esi + 0x60f0], eax
mov eax, dword [esp + 0xec]
mov dword [esi + 0x60f4], eax
mov eax, dword [esp + 0x30]
add esp, 0x311c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
jmp 0x70106640
mov ecx, dword [esp + 0x30]
test ecx, ecx
movzx ecx, byte [esp + 0x7c]
sete al
or cl, al
mov byte [esp + 0x80], cl
jne 0x701069a5
mov edi, dword [esp + 0x64]
mov dword [ebx + 0x607c], 0x40
mov dword [ebx + 0x60b8], 0x40
mov dword [ebx + 0x60f4], 0x40
mov eax, edi
add eax, 0x1000
mov dword [ebx + 0x60b4], eax
mov eax, edi
add eax, 0x2000
mov dword [ebx + 0x6078], edi
mov dword [ebx + 0x60f0], eax
jmp 0x70105e30
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3164]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.7012f760
jmp 0x70106177
lea eax, [ebp + 0x156e30]
mov ecx, eax
mov dword [esp + 0x60], eax
mov dword [esp + 8], 3
movzx eax, byte [edi + 0x49]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.700dec30
test eax, eax
mov edx, eax
jne 0x70105253
cmp dword [esp + 0x68], 1
je 0x701067a8
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov ecx, dword [eax + ebx*4]
test ecx, ecx
jne 0x70105253
mov eax, dword [edi + 8]
mov dword [esp + 0x78], edx
movzx eax, byte [edi + eax + 0x44]
mov dword [esp + 8], 3
mov dword [esp + 0x74], eax
mov ebx, eax
mov eax, dword [ebp + 0xe134]
mov eax, dword [eax]
movzx eax, byte [eax + 0x49]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.700dec30
mov edx, dword [esp + 0x78]
mov dword [esp + 0x70], 0
test eax, eax
jne 0x701067fe
mov eax, ebx
shl eax, 4
mov eax, dword [ebp + eax + 0x10e280]
mov dword [esp + 0x70], eax
mov dword [esp + 8], 3
mov eax, dword [ebp + 0xe134]
xor ebx, ebx
mov dword [esp + 0x78], edx
mov eax, dword [eax]
movzx eax, byte [eax + 0x49]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.700dec30
mov edx, dword [esp + 0x78]
test eax, eax
jne 0x70106845
mov eax, dword [esp + 0x74]
add eax, 0x10627
shl eax, 4
mov eax, dword [ebp + eax + 0x800c]
mov ebx, eax
mov dword [esp + 8], 3
mov eax, dword [ebp + 0xe134]
mov dword [esp + 0x78], edx
mov eax, dword [eax]
movzx eax, byte [eax + 0x49]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.700dec30
mov edx, dword [esp + 0x78]
test eax, eax
jne 0x70106883
mov eax, dword [esp + 0x74]
shl eax, 4
mov edx, dword [ebp + eax + 0x10e284]
cmp dword [esp + 0x48], 0xb
je 0x70106dbc
cmp dword [esp + 0x48], 0xa
je 0x70106f1e
cmp dword [esp + 0x48], 0xc
je 0x701068c4
mov dword [esp + 8], 0xaa9
mov dword [esp + 4], str..._source_libvpx_1.3.0_vp9_encoder_vp9_rdopt.c
mov dword [esp], str.this_mode__ZEROMV
mov dword [esp + 0x60], edx
call fcn.6feeef40
mov edx, dword [esp + 0x60]
cmp dword [esp + 0x68], 1
je 0x70106f2b
cmp ebx, edx
jg 0x701068fa
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x315c]
mov eax, dword [ebx + eax*4 + 0xa0]
test eax, eax
jne 0x701068fa
mov eax, dword [edi + 0xc]
mov eax, dword [ebx + eax*4 + 0xa0]
test eax, eax
je 0x701051cc
cmp dword [esp + 0x70], edx
jg 0x70105253
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x315c]
mov eax, dword [ebx + eax*4 + 0xb0]
test eax, eax
jne 0x70105253
mov eax, dword [edi + 0xc]
mov eax, dword [ebx + eax*4 + 0xb0]
test eax, eax
je 0x701051cc
jmp 0x70105253
mov dword [esp + 0x7c], 0
mov ecx, 3
mov dword [esp + 0x74], 0
jmp 0x701060f7
xor eax, eax
jmp 0x7010551c
xor eax, eax
mov ebx, dword [esp + 0x3150]
cmp dword [ebp + 0x156eb0], 1
sete al
mov dword [ebx], eax
jmp 0x701054ed
add esi, dword [esp + 0x38]
adc edi, dword [esp + 0x3c]
jmp 0x7010573d
add esi, dword [esp + 0x38]
adc edi, dword [esp + 0x3c]
jmp 0x70105f5d
jl 0x7010517e
cmp dword [esp + 0x58], eax
jae 0x70106270
jmp 0x7010517e
movzx ecx, byte [esp + 0x70]
mov byte [esp + 0x80], al
and ecx, eax
mov byte [esp + 0x68], cl
jmp 0x70105de2
mov ebx, dword [esp + 0x3168]
mov eax, dword [ebx + eax]
mov ebx, dword [esp + 0x60]
mov dword [ebx], eax
mov eax, dword [esp + 0x3168]
mov eax, dword [eax + edx]
mov dword [ecx], eax
mov eax, dword [esp + 0x50]
cmp dword [ebp + 0x1f5e90], eax
ja 0x70106a40
mov ecx, eax
mov edx, esi
lea eax, [esp + 0xd4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3168]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3164]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, ebp
call fcn.700fda00
mov eax, dword [esp + 0xd4]
mov ebx, dword [esp + 0x3134]
mov dword [esp + 0x68], 2
add dword [ebx], eax
jmp 0x70105ce2
mov dword [esp + 0x10], 0x6c
mov eax, dword [esi + 0x8622c]
lea edx, [esi + 0x621c]
mov dword [esp + 8], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
lea eax, [edi + eax*8 + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.700ce810
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], 0x6c
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xd4], eax
mov eax, dword [esi + 0x8622c]
mov dword [esp + 8], edx
mov dword [esp], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
lea eax, [edi + eax*8 + 0x1c]
mov dword [esp + 4], eax
call fcn.700ce810
add eax, dword [esp + 0xd4]
jmp 0x70106a29
mov eax, dword [esi + 0x6134]
mov ebx, dword [eax]
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.70191760
movzx eax, al
lea eax, [eax + eax*2]
add eax, dword [ebx + 0x4c]
mov ebx, dword [esi + eax*4 + 0x1072fc]
jmp 0x70106121
mov edx, dword [esp + 0x30]
test edx, edx
sete al
mov byte [esp + 0x80], al
and al, byte [esp + 0x70]
mov byte [esp + 0x68], al
jmp 0x70105de2
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x48], ebx
jmp 0x70105c47
mov eax, dword [esp + 0x3134]
mov ebx, dword [eax]
mov eax, dword [esi + 0x6134]
mov edi, dword [eax]
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.70191760
movzx eax, al
lea eax, [eax + eax*2]
add eax, dword [edi + 0x4c]
add ebx, dword [esi + eax*4 + 0x1072fc]
mov eax, dword [esp + 0x3134]
mov dword [eax], ebx
jmp 0x7010627d
mov edi, dword [esp + 0x3134]
add eax, dword [edi]
mov dword [edi], eax
mov edi, dword [esp + 0x3138]
mov ecx, dword [edi]
mov ebx, dword [edi + 4]
mov edi, dword [esp + 0x3144]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ebx
mov ecx, dword [edi]
mov ebx, dword [edi + 4]
add dword [esp + 0x40], ecx
adc dword [esp + 0x44], ebx
imul dword [esi + 0x61e4]
mov edi, dword [esp + 0x3138]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x38], eax
add dword [esp + 0x38], 0x80
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], edx
adc dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
mov dword [edi], ecx
mov ecx, dword [esi + 0x61e0]
mov dword [edi + 4], ebx
xor edi, edi
shrd eax, edx, 8
sar edx, 8
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, edi
mov edi, dword [esp + 0x316c]
mov dword [esp + 0x40], eax
xor ebx, ebx
mov dword [esp + 0x44], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 0x40]
cmovne edx, eax
cmovne eax, ebx
mov ebx, dword [esp + 0x44]
add dword [esp + 0x38], ecx
adc dword [esp + 0x3c], ebx
cmp dword [esp + 0x3c], edx
jl 0x70106c41
jg 0x70106c39
cmp dword [esp + 0x38], eax
jbe 0x70106c41
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x38]
mov edx, dword [esp + 0x5c]
sbb edx, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3148]
mov dword [esp + 0x14], edx
mov edx, esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
lea eax, [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x314c]
mov dword [esp], eax
mov eax, ebp
call fcn.70104e30
mov eax, dword [esp + 0x3148]
mov ecx, dword [eax]
cmp ecx, 0x7fffffff
je 0x7010515d
mov edi, dword [esp + 0x316c]
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
add dword [edi], eax
mov eax, dword [esp + 0x3134]
adc dword [edi + 4], edx
mov edi, dword [esp + 0x3138]
add dword [eax], ecx
mov eax, dword [esp + 0x314c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add dword [edi], eax
adc dword [edi + 4], edx
xor eax, eax
mov edi, dword [esp + 0xb0]
test edi, edi
je 0x70106cfc
mov ebx, dword [esp + 0xb4]
xor eax, eax
test ebx, ebx
setne al
mov edx, dword [esp + 0x313c]
mov dword [edx], eax
jmp 0x7010664e
mov eax, dword [ebp + 0x1f5e84]
test eax, eax
je 0x70106d28
mov eax, dword [ebp + 0x156140]
test eax, eax
jne 0x70106f73
mov ecx, dword [ebp + 0x1f6f28]
jmp 0x70105a12
mov eax, dword [ebp + 0x15cc20]
xor edx, edx
jmp 0x7010585b
mov ebx, dword [esp + 0x4c]
lea eax, [eax + ebx*2 + 4]
mov eax, dword [edi + eax*4 + 0xc]
jmp 0x70105a86
imul eax, dword [esp + 0x98], 0x2c
lea ebx, [esp + 0xb0]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x20], ebx
lea ebx, [esp + 0xb8]
lea eax, [ebp + eax + 0x1f6f6c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
lea eax, [esp + 0xb4]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.700dab10
jmp 0x70105b31
cmp dword [esp + 0x70], edx
jg 0x701051cc
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0xc4], eax
jmp 0x70105270
mov dword [esp + 8], 0x11d
mov dword [esp + 4], 0x707a2820
mov dword [esp], 0x707a284f
call fcn.6feeef40
mov edi, dword [esp + 0x50]
jmp 0x70106318
imul eax, dword [esp + 0x98], 0x2c
lea ebx, [esp + 0xb0]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x20], ebx
lea ebx, [esp + 0xb8]
lea eax, [ebp + eax + 0x1f6f6c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
lea eax, [esp + 0xb4]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.700daa90
jmp 0x70105b31
mov dword [esp + 8], 0x11d
mov dword [esp + 4], 0x707a2820
mov dword [esp], 0x707a284f
call fcn.6feeef40
jmp 0x7010633e
imul eax, dword [esp + 0x98], 0x2c
lea ebx, [esp + 0xb0]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x20], ebx
lea ebx, [esp + 0xb8]
lea eax, [ebp + eax + 0x1f6f6c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
lea eax, [esp + 0xb4]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.700dab90
jmp 0x70105b31
xor ecx, ecx
add eax, 2
mov word [eax - 2], cx
sub ebx, 2
jmp 0x70105d0b
mov byte [ebp + 0x161578], 0
lea eax, [ebp + 0x161579]
mov bl, 0x1f
jmp 0x70105d03
cmp ebx, edx
jg 0x701051cc
jmp 0x70106dc6
cmp ebx, edx
lea esi, [esi]
jg 0x70106f4b
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x315c]
mov eax, dword [ebx + eax*4 + 0xa0]
test eax, eax
je 0x701051cc
cmp dword [esp + 0x70], edx
jg 0x70105253
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x315c]
mov eax, dword [ebx + eax*4 + 0xb0]
test eax, eax
je 0x701051cc
jmp 0x70105253
mov eax, dword [esp + 0x4c]
mov eax, dword [esi + eax*4 + 0x6208]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.700ce7c0
mov ecx, dword [ebp + 0x1f6f28]
add ecx, eax
sar ecx, 1
jmp 0x70105a12
mov ebx, dword [esi + 0x6134]
mov eax, dword [esi + 0x6130]
mov edx, ebx
shl eax, 2
sub edx, eax
mov eax, ebx
mov edx, dword [edx]
jmp 0x70106538
cmp dword [esp + 0x58], 0xffffffff
jne 0x70105fb3
jmp 0x7010601c
xor eax, eax
jmp 0x7010655e
xor edx, edx
nop
jmp 0x70106552