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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x1ec
mov edi, dword [ebx + 0x6144]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x174], ecx
mov edx, dword [esp + 0x20c]
mov dword [esp + 0x120], 0
mov dword [esp + 0x128], eax
mov eax, dword [ebx + 0x6134]
mov dword [esp + 0x12c], edx
mov ecx, dword [eax]
mov dword [esp + 0x150], ecx
mov ecx, dword [ebx + 0x6130]
lea edx, [ecx*4]
mov ecx, eax
sub ecx, edx
test edi, edi
mov ecx, dword [ecx]
mov dword [esp + 0x130], ecx
je 0x701006be
mov eax, dword [eax - 4]
mov dword [esp + 0x120], eax
mov edi, dword [esp + 0x150]
lea edx, [esp + 0x190]
mov dword [esp + 0x148], edx
mov dword [esp + 0x134], 0
mov dword [esp + 0x11c], 0
mov eax, dword [edi + 0x50]
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x160], 0
mov ecx, dword [eax*4 + 0x7079f400]
mov esi, dword [eax*4 + 0x7079f440]
mov eax, dword [ebx + 0x6094]
mov dword [esp + 0x158], 0
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xc8], esi
mov eax, dword [eax]
mov dword [esp + 0x15c], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x190], eax
mov eax, dword [ebx + 0x6098]
mov eax, dword [eax]
mov dword [esp + 0x194], eax
lea eax, [ebx + 0x106244]
mov dword [esp + 0xe8], eax
lea eax, [ebx + 0x6060]
mov dword [esp + 0xac], eax
lea eax, [ecx*4]
mov dword [esp + 0xd4], eax
lea eax, [esi*4]
mov dword [esp + 0x124], eax
lea eax, [ecx + ecx]
mov dword [esp + 0x170], eax
add eax, ecx
shl eax, 3
mov dword [esp + 0x178], eax
lea eax, [esp + 0x188]
mov dword [esp + 0x164], eax
lea eax, [esi + esi*2]
shl eax, 2
mov dword [esp + 0x16c], eax
lea eax, [edi + 0x60]
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x18c]
add eax, ecx
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x134]
mov dword [esp + 0xa8], 4
mov dword [esp + 0x14c], 0
add eax, eax
mov dword [esp + 0x168], eax
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x17c]
add eax, ecx
movzx ecx, byte [0x7079f4cc]
mov dword [esp + 0x118], eax
mov eax, 1
shl dword [esp + 0xa8], cl
shl eax, cl
sub eax, 1
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xb4]
mov esi, dword [eax + 0x15613c]
test esi, esi
je 0x70101625
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x12c]
sub eax, dword [esp + 0x110]
movzx ecx, byte [0x7079f4cc]
sbb edx, dword [esp + 0x114]
mov edi, dword [ebx + 0x2008]
mov ebp, dword [ebx + 0x607c]
mov dword [esp + 0x10c], edx
mov edx, esi
sar edx, cl
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x108], eax
shl edx, 2
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebp
and ecx, esi
mov eax, ecx
mov ecx, edi
imul ecx, edx
imul edx, ebp
shl eax, 2
add ecx, eax
mov dword [esp + 0xdc], ecx
mov ecx, dword [ebx + 0x2004]
add dword [esp + 0xdc], ecx
lea ecx, [eax + edx]
mov edx, dword [esp + 0x148]
mov dword [esp + 0xd8], ecx
mov ecx, dword [ebx + 0x6078]
mov eax, dword [ebx + 0x6134]
add dword [esp + 0xd8], ecx
mov ecx, esi
movzx esi, word [edx + esi]
mov eax, dword [eax]
mov word [esp + 0xfc], si
mov esi, dword [esp + 0x11c]
mov dword [eax + 0x10], 0
mov eax, ecx
shl ecx, 5
movzx esi, word [esp + esi + 0x194]
mov dword [esp + 0xf0], ecx
lea ecx, [ebp*4]
mov dword [esp + 0xf8], ecx
mov ecx, eax
add ecx, ecx
mov word [esp + 0xfe], si
mov dword [esp + 0xec], ecx
mov eax, dword [esp + 0x108]
lea ecx, [edi*4]
mov edx, dword [esp + 0x10c]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x74], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xcc], 0
mov dword [esp + 0x144], 0x7fffffff
mov dword [esp + 0x140], 0x7fffffff
mov dword [esp + 0x138], 0xffffffff
mov dword [esp + 0x13c], 0x7fffffff
jmp 0x70100a10
cmp dword [esp + 0xcc], 1
setne al
je 0x70101363
cmp ecx, 5
jne 0x70101363
cmp dword [esp + 0xcc], 4
je 0x70101795
nop
add dword [esp + 0x74], 1
cmp dword [esp + 0x74], 0xa
je 0x70101326
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x74]
mov eax, dword [eax + 0x1f5ef4]
bt eax, ecx
jae 0x70100a00
mov eax, dword [esp + 0xb4]
test byte [eax + 0x1f5ee8], 0x10
jne 0x701009d6
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0xe0]
mov eax, dword [eax + ecx*4]
test ebp, ebp
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0xfc]
mov word [esp + 0x188], ax
movzx eax, word [esp + 0xfe]
mov word [esp + 0x18c], ax
jle 0x701016c1
lea eax, [esp + 0x18c]
mov ecx, dword [esp + 0xc8]
mov esi, ebx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x88], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xd0]
add eax, ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
jle 0x70101156
lea ebx, [esi + 0x114f50]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0xa0]
sub ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, esi
jmp 0x70100e30
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x60]
mov edi, edx
mov ebp, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.70139bd0
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 4], 4
mov dword [esp], 4
mov dword [esp + 0x10], eax
call dword [0x70ea7edc]
mov edx, dword [ebx + 0x6158]
mov eax, dword [ebx + 0x6134]
test edx, edx
mov eax, dword [eax]
jne 0x70100c07
mov ebp, dword [eax + 8]
test ebp, ebp
jle 0x701010b0
mov eax, dword [esp + 0x64]
mov dword [esp + 8], 8
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [ebx + 0x14ba74]
mov dword [esp + 0x30], 0x70eebb70
mov dword [esp + 0x6c], 0
mov dword [esp + 0x48], 0x707ac9d0
mov eax, 0x70ee9b40
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], 4
mov dword [esp], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
call fcn.700df330
mov eax, dword [ebx + 0x6134]
mov edx, dword [ebx + 0x6068]
mov ecx, dword [esp + 0x8c]
mov edi, dword [ebx + 0x6060]
mov eax, dword [eax]
movzx ecx, word [edx + ecx]
mov edx, dword [eax + 8]
mov dword [esp + 0x68], ecx
xor ecx, ecx
test edx, edx
setne cl
imul ecx, ecx, 0xd80
imul edx, dword [ebx + 0x606c], 0x1b00
lea edx, [ecx + edx + 0x107740]
mov ecx, dword [esp + 0x7c]
lea ebp, [ebx + edx + 0xc]
cmp byte [ecx + esi], 0
mov esi, dword [esp + 0x78]
setne cl
xor edx, edx
movzx ecx, cl
cmp byte [esi], 0
setne dl
lea esi, [ecx + edx]
mov ecx, dword [ebx + 0x606c]
test ecx, ecx
jne 0x70101013
mov eax, dword [eax + 0x10]
test eax, eax
je 0x70100cf7
mov dword [esp + 8], 0x1fe
mov dword [esp + 4], str..._source_libvpx_1.3.0_vp9_encoder_vp9_rdopt.c
mov dword [esp], str.type__PLANE_TYPE_Y_WITH_DC___mbmi__tx_size__tx_size_:_get_uv_tx_size_mbmi___tx_size
call fcn.6feeef40
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x70100ea5
lea eax, [esi + esi*2]
shl eax, 4
mov esi, dword [ebp + eax + 0x2c]
xor eax, eax
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x4c]
add dword [esp + 0x88], esi
mov byte [ecx], al
mov ecx, dword [esp + 0x7c]
mov byte [ecx + edi], al
lea eax, [esp + 0x198]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], 0x10
add eax, dword [ebx + 0x6064]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call dword [0x70ea7ee0]
mov ecx, dword [ebx + 0x61e0]
shrd eax, edx, 2
sar edx, 2
add dword [esp + 0x80], eax
mov eax, dword [esp + 0x88]
adc dword [esp + 0x84], edx
imul dword [ebx + 0x61e4]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
add eax, 0x80
adc edx, 0
xor ebp, ebp
shrd eax, edx, 8
shld edi, esi, cl
sar edx, 8
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebp
add eax, esi
adc edx, edi
cmp edx, dword [esp + 0x9c]
jg 0x70100a00
jl 0x70100dca
cmp eax, dword [esp + 0x98]
jae 0x70100a00
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x70101035
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x607c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x6064]
mov dword [esp], eax
call dword [0x70ea8050]
add dword [esp + 0x4c], 1
mov eax, dword [esp + 0xa0]
add dword [esp + 0x5c], 0x20
add dword [esp + 0x60], 4
add dword [esp + 0x8c], 2
add dword [esp + 0x70], 4
cmp dword [esp + 0x4c], eax
je 0x70101154
mov edx, dword [ebx + 0x6134]
mov esi, dword [esp + 0x4c]
mov edi, dword [ebx + 0x115358]
mov ecx, dword [edx]
lea eax, [esi + esi*2]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x54], ecx
mov eax, dword [esp + 0xa4]
movzx ecx, byte [0x7079f4cc]
and eax, esi
sar esi, cl
mov edx, esi
shl edx, 2
imul edx, dword [esp + 0xa8]
lea eax, [edx + eax*4]
lea esi, [ebx + eax*2]
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x2000]
test edi, edi
mov dword [esp + 0x64], eax
je 0x70100b60
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x60]
jmp 0x70100b6f
mov eax, dword [esp + 0x5c]
mov ecx, dword [0x70ea8360]
mov edx, dword [0x70ea8364]
add eax, edi
mov dword [esp + 0x50], eax
movsx eax, word [eax]
mov dword [esp + 0x34], ecx
lea ecx, [esi + esi*2]
mov esi, dword [esp + 0x34]
movsx edi, word [edx + eax*4]
mov esi, dword [esi + eax*4]
lea eax, [ebp + 0x240]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x68]
lea ecx, [edi + ecx*4]
add esi, dword [ebp + ecx*4]
movzx ecx, byte [edi + 0x707a14a0]
cmp eax, 1
mov byte [ebx + 0x114f50], cl
je 0x7010134f
mov ecx, dword [esp + 0x34]
sub eax, 1
mov dword [esp + 0x58], eax
mov eax, 1
mov dword [esp + 0xb0], ebx
mov ebx, esi
mov dword [esp + 0x54], 0x707a3324
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], 2
jmp 0x70100f45
mov edi, dword [0x70ea8360]
add eax, 1
mov edx, dword [0x70ea8364]
mov dword [esp + 0x3c], edi
mov edi, ecx
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x28]
movsx esi, word [ecx + eax*2]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x34], esi
movsx esi, word [ecx + esi*2]
movsx ecx, word [edx + esi*4]
mov edx, dword [esp + 0x30]
movsx edx, word [edx + eax*4]
movzx edx, byte [ebp + edx]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x30]
movsx edx, word [edx + eax*4 + 2]
movzx edx, byte [ebp + edx]
mov ebp, dword [esp + 0x38]
lea ebp, [ebp + edx + 1]
xor edx, edx
sar ebp, 1
test edi, edi
sete dl
mov edi, edx
lea edx, [ebp + ebp*2]
lea ebp, [edi*8]
add edi, ebp
mov ebp, dword [esp + 0x28]
shl edi, 3
lea edx, [edi + edx*4]
mov edi, dword [esp + 0x44]
add edx, ecx
add ebx, dword [edi + edx*4]
mov edi, dword [esp + 0x3c]
movzx edx, byte [ecx + 0x707a14a0]
add ebx, dword [edi + esi*4]
mov esi, dword [esp + 0x34]
sub dword [esp + 0x40], 1
mov byte [ebp + esi], dl
jne 0x70100fea
mov esi, dword [esp + 0x54]
add dword [esp + 0x44], 0x240
movsx edi, word [esi]
mov dword [esp + 0x40], edi
lea edi, [esi + 2]
mov dword [esp + 0x54], edi
cmp eax, dword [esp + 0x58]
jne 0x70100f30
mov eax, dword [esp + 0x40]
mov esi, ebx
mov ebx, dword [esp + 0xb0]
test eax, eax
jne 0x70101067
mov eax, dword [esp + 0x68]
test eax, eax
setg al
jmp 0x70100d0f
mov edx, dword [eax + 0x50]
mov eax, dword [eax + 0x10]
cmp dword [edx*4 + 0x7079f000], eax
cmovbe eax, dword [edx*4 + 0x7079f000]
test eax, eax
je 0x70100cf7
jmp 0x70100cdb
mov dword [esp + 0xc], 0x10
mov eax, dword [ebx + 0x607c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x6064]
mov dword [esp], eax
call dword [ebx + 0x615c]
jmp 0x70100e03
mov eax, dword [esp + 0x68]
lea edx, [eax*4]
test eax, eax
lea ecx, [edx + 2]
setg al
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
movsx edx, word [edi + edx]
movsx ecx, word [edi + ecx]
movzx edx, byte [ebp + edx]
movzx ecx, byte [ebp + ecx]
lea edx, [edx + ecx + 1]
mov ecx, dword [esp + 0x44]
sar edx, 1
lea edx, [edx + edx*2]
shl edx, 4
add esi, dword [ecx + edx + 0x2c]
jmp 0x70100d0f
cmp dword [eax + 0x50], 2
ja 0x70101130
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + ecx*2]
mov eax, dword [eax + edx*4 + 0x54]
mov eax, dword [eax*4 + 0x707aca40]
cmp eax, 1
mov dword [esp + 0x6c], eax
je 0x70101142
cmp eax, 2
jne 0x70101774
mov dword [esp + 0x30], 0x70eebb20
mov dword [esp + 0x48], 0x707ac9b0
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x64]
mov dword [esp + 8], 8
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
call dword [0x70ea7ed8]
cmp edi, 1
mov eax, 0x70ee9b00
je 0x70100c3d
cmp dword [esp + 0x6c], 2
jne 0x70100c38
mov eax, 0x70ee9b20
jmp 0x70100c3d
mov eax, dword [eax]
mov eax, dword [eax*4 + 0x707aca40]
cmp eax, 1
mov dword [esp + 0x6c], eax
jne 0x701010d1
mov dword [esp + 0x30], 0x70eebad0
mov dword [esp + 0x48], 0x707ac990
jmp 0x701010ea
mov esi, ebx
mov eax, dword [esp + 0xf8]
add dword [esp + 0xc0], eax
mov eax, dword [esp + 0xf4]
add dword [esp + 0xb8], eax
add dword [esp + 0x78], 1
mov eax, dword [esp + 0x104]
add dword [esp + 0xa0], 2
sub dword [esp + 0x7c], 2
add dword [esp + 0xc4], 0x40
add dword [esp + 0xbc], 4
cmp dword [esp + 0x78], eax
jne 0x70100b02
mov ebx, esi
mov ecx, dword [esp + 0x100]
add ecx, dword [esp + 0x88]
mov eax, ecx
imul dword [ebx + 0x61e4]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0x61e0]
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x80
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
adc dword [esp + 0x2c], 0
xor esi, esi
mov edx, dword [esp + 0x2c]
shrd eax, edx, 8
sar edx, 8
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x80]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
add dword [esp + 0x28], eax
adc dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x9c]
jg 0x70100a00
jl 0x7010123d
mov eax, dword [esp + 0x98]
cmp dword [esp + 0x28], eax
jae 0x70100a00
movzx eax, word [esp + 0x188]
mov ecx, dword [esp + 0x148]
mov edi, dword [esp + 0xd0]
mov ebp, dword [esp + 0xd4]
mov word [ecx + edi], ax
movzx eax, word [esp + 0x18c]
mov ecx, dword [esp + 0x11c]
test ebp, ebp
mov word [esp + ecx + 0x194], ax
jle 0x701012c0
mov esi, dword [esp + 0xd8]
lea ebp, [esp + 0x1a0]
xor edi, edi
mov eax, ebx
mov ebx, edi
mov edi, ebp
mov ebp, eax
mov eax, dword [esp + 0x124]
add ebx, 1
mov dword [esp + 4], esi
mov dword [esp], edi
add edi, 8
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
add esi, dword [esp + 0x90]
cmp ebx, dword [esp + 0xd4]
jne 0x70101291
mov ebx, ebp
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x13c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x74]
add dword [esp + 0x74], 1
cmp dword [esp + 0x74], 0xa
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x98], eax
jne 0x70100a10
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0x10c], eax
jge 0x701013d0
add esp, 0x1ec
mov eax, 0xffffffff
pop ebx
mov edx, 0x7fffffff
pop esi
pop edi
pop ebp
ret
mov eax, 1
mov ecx, 6
mov edx, 4
jmp 0x7010107a
cmp dword [esp + 0x74], 8
jne 0x7010136e
test al, al
jne 0x701013ae
cmp dword [esp + 0xcc], 2
setne al
cmp dword [esp + 0x74], 7
je 0x701013a6
test al, al
je 0x70100a36
cmp dword [esp + 0x74], 6
jne 0x70100a36
cmp dword [esp + 0xcc], 4
je 0x70100a36
jmp 0x70100a00
test al, al
je 0x70100a36
cmp dword [esp + 0xcc], 3
jne 0x70100a00
cmp dword [esp + 0x74], 6
je 0x70100a00
jmp 0x70100a36
jg 0x701013e6
mov eax, dword [esp + 0x98]
cmp dword [esp + 0x108], eax
jbe 0x7010133a
mov edi, dword [ebx + 0x115358]
test edi, edi
jne 0x70101442
mov esi, dword [esp + 0xd4]
test esi, esi
jle 0x70101442
lea esi, [esp + 0x1a0]
mov edi, dword [esp + 0xd8]
xor ebp, ebp
mov dword [esp + 0x28], ebx
mov ebx, esi
mov esi, dword [esp + 0x124]
mov dword [esp + 4], ebx
add ebp, 1
add ebx, 8
mov dword [esp], edi
mov dword [esp + 8], esi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x90]
cmp dword [esp + 0xd4], ebp
jne 0x70101418
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x98]
add dword [esp + 0x110], eax
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x144]
adc dword [esp + 0x114], edx
add dword [esp + 0x154], eax
mov eax, dword [esp + 0x138]
add dword [esp + 0x158], eax
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0xe0]
adc dword [esp + 0x15c], edx
mov esi, dword [esp + 0xcc]
add dword [esp + 0x160], eax
mov eax, dword [esp + 0x118]
cmp ecx, 1
mov dword [eax - 0xc], esi
jle 0x701014c8
lea edx, [eax + 0xc]
mov eax, 1
add eax, 1
add edx, 0x18
mov dword [edx - 0x18], esi
cmp eax, ecx
jne 0x701014bb
cmp dword [esp + 0xc8], 1
mov eax, 1
mov edx, dword [esp + 0x118]
jle 0x701014f9
mov ecx, dword [esp + 0xc8]
mov esi, dword [esp + 0xcc]
add eax, 1
add edx, 0xc
mov dword [edx - 0xc], esi
cmp eax, ecx
jne 0x701014ec
mov eax, dword [esp + 0x114]
cmp dword [esp + 0x12c], eax
jl 0x7010133a
jg 0x70101523
mov eax, dword [esp + 0x110]
cmp dword [esp + 0x128], eax
jbe 0x7010133a
mov eax, dword [esp + 0x16c]
add dword [esp + 0x118], eax
add dword [esp + 0x14c], eax
mov eax, dword [esp + 0xc8]
add dword [esp + 0xd0], eax
sub dword [esp + 0xe4], eax
mov eax, dword [esp + 0xd0]
sub eax, dword [esp + 0x168]
cmp eax, 1
jle 0x7010085a
mov eax, dword [esp + 0xe0]
add dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
sub dword [esp + 0x148], eax
add dword [esp + 0x134], ecx
sub dword [esp + 0x164], eax
cmp dword [esp + 0x11c], 1
jle 0x701007e9
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x174]
mov edi, dword [esp + 0x160]
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x150]
mov dword [eax], ecx
mov eax, dword [esp + 0x200]
mov dword [eax], edi
mov eax, dword [esp + 0x204]
mov edi, dword [esp + 0x15c]
mov dword [eax], esi
mov dword [eax + 4], edi
mov eax, dword [edx + 0x78]
mov dword [edx], eax
mov eax, ecx
mov ecx, dword [ebx + 0x61e0]
imul dword [ebx + 0x61e4]
add eax, 0x80
adc edx, 0
xor ebx, ebx
shrd eax, edx, 8
shld edi, esi, cl
sar edx, 8
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebx
add eax, esi
adc edx, edi
add esp, 0x1ec
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0xd0], 1
jbe 0x701016e7
mov eax, dword [esp + 0xd0]
sub eax, 2
cmp eax, 1
jbe 0x7010165e
mov dword [esp + 8], 0x43
mov dword [esp + 4], 0x707a28a8
mov dword [esp], 0x707a28db
call fcn.6feeef40
mov eax, dword [esp + 0x118]
mov esi, dword [eax - 0x24]
mov eax, dword [esp + 0xd0]
and eax, 0xfffffffd
jne 0x701016ac
mov ecx, dword [esp + 0x120]
xor eax, eax
test ecx, ecx
je 0x7010168c
mov edx, dword [ecx + 8]
test edx, edx
jle 0x70101726
lea edx, [eax + eax*4]
imul eax, esi, 0x190
lea eax, [eax + edx*8 + 0x106350]
lea eax, [ebx + eax + 0xc]
mov dword [esp + 0xe8], eax
jmp 0x7010086f
cmp eax, 1
jne 0x70101745
mov eax, dword [esp + 0x118]
mov eax, dword [eax - 0x18]
jmp 0x7010168c
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
jmp 0x701011a7
mov eax, dword [esp + 0x130]
xor esi, esi
test eax, eax
je 0x70101668
mov ecx, dword [eax + 8]
test ecx, ecx
jg 0x70101668
cmp dword [eax + 0x50], 2
ja 0x701017a5
mov ecx, dword [esp + 0x14c]
add eax, dword [esp + 0x134]
mov eax, dword [eax + ecx + 0x6c]
mov esi, eax
jmp 0x70101668
cmp dword [ecx + 0x50], 2
mov eax, ecx
ja 0x70101766
mov ecx, dword [esp + 0x14c]
add eax, dword [esp + 0x134]
mov eax, dword [eax + ecx + 0x60]
jmp 0x7010168c
mov dword [esp + 8], 0x35
mov dword [esp + 4], 0x707a28a8
mov dword [esp], 0x707a28ec
call fcn.6feeef40
jmp 0x701016b5
mov eax, dword [esp + 0x120]
mov eax, dword [eax]
jmp 0x7010168c
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x70100c07
mov dword [esp + 0x30], 0x70eebb70
mov dword [esp + 0x48], 0x707ac9d0
jmp 0x701010ea
cmp dword [esp + 0x74], 7
jne 0x70101388
jmp 0x70100a00
mov eax, dword [esp + 0x130]
mov eax, dword [eax]
mov esi, eax
jmp 0x70101668