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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x210
mov dword [esp + 0x64], ecx
imul ecx, edx, 0x1c
lea edx, [edx + edx*2]
shl edx, 4
mov edx, dword [eax + edx + 0x748]
lea esi, [eax + ecx + 0x14c0]
mov ecx, dword [eax + 0x1838]
mov edi, dword [esi + 0xc]
mov dword [esp + 0x68], esi
mov dword [esp + 0x58], edx
mov edx, dword [esi]
cmp byte [ecx + 2], 0
mov dword [esp + 0x34], edi
mov edi, dword [esi + 4]
mov dword [esp + 0x18], edx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x38], edi
movsx ebx, byte [edx]
mov edx, dword [eax + 0x1bb8]
mov byte [esp + 0x6f], bl
lea esi, [edx + edx]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], esi
jne 0x700a0ce4
shl edx, 4
add dword [esp + 0x14], edx
sar dword [esp + 0x14], 4
mov esi, dword [esp + 0x4c]
lea edi, [esp + 0x210]
mov edx, dword [eax + 0x1bb4]
mov eax, dword [eax + 0x1bec]
mov dword [esp + 0x74], 0
lea ecx, [esi + esi*2]
shl ecx, 3
lea ebx, [edi + ecx]
xor edi, edi
mov dword [esp + ecx + 0x78], 0
mov dword [esp + ecx + 0x7c], 0
mov dword [esp + 0x50], edx
mov byte [ebx - 0x190], 0x10
mov byte [ebx - 0x18f], 0xb
mov word [ebx - 0x18e], di
mov dword [esp + ecx + 0x84], 0
mov edx, dword [ebx - 0x190]
mov dword [esp + 0x1c], eax
lea eax, [esi + esi*2 - 3]
lea eax, [esp + eax*8 + 0x8d]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0x70], 0
mov dword [ebx - 0x188], 0
mov dword [ebx - 0x184], edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], 0
mov dword [esp], esi
mov dword [esp + 0x5c], 0
jmp 0x700a10e1
lea ecx, [eax + eax*2]
mov ebp, edi
shl ecx, 3
lea esi, [esp + 0x210]
mov edi, dword [esp + ecx + 0x88]
lea ebx, [esi + ecx]
mov esi, dword [esp + ecx + 0x7c]
mov dword [esp + 0x28], edi
lea edi, [ebx - 0x198]
sub ebx, 0x18c
mov dword [esp + 0x24], esi
mov esi, dword [esp + ecx + 0x78]
cmp eax, 0xf
mov ecx, dword [esp + ecx + 0x84]
mov dword [esp + 0x2c], esi
mov esi, dword [0x707a5984]
movzx esi, word [esi + ebp*4]
mov word [esp + 0x30], si
jg 0x700a0e2e
mov esi, dword [esp]
movsx ebp, word [esp + 0x30]
movsx edi, byte [edi + 9]
movsx ebx, byte [ebx + 9]
movzx esi, byte [esi + 0x707a4911]
movzx ebp, byte [ebp + 0x707a4900]
lea esi, [esi + esi*8]
lea ebp, [ebp + ebp*2]
shl esi, 2
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 0x1c]
add edi, esi
add esi, ebx
mov edi, dword [ebp + edi*4 + 0x900]
add dword [esp + 0x2c], edi
add ecx, dword [ebp + esi*4 + 0x900]
mov esi, dword [esp + 0x50]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
imul ebp, dword [esp + 0x14]
imul edi, esi
sub ebp, 0xffffff80
mov ebx, ebp
sar ebx, 8
mov dword [esp + 0x40], edi
add edi, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x14]
imul ebx, esi
imul edi, ecx
mov dword [esp + 0x44], ebx
sub edi, 0xffffff80
mov esi, edi
sar esi, 8
add esi, ebx
cmp dword [esp + 0xc], esi
je 0x700a1210
xor ebx, ebx
mov edi, dword [esp + 4]
cmp esi, dword [esp + 0xc]
mov ebp, dword [esp + 0x38]
setl bl
mov esi, ebx
mov ebx, dword [0x707a5980]
movsx ebp, word [ebp + edx*2]
movsx edi, word [ebx + edi*2]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xc], ebp
movsx ebx, word [ebx + edx*2]
sub dword [esp + 0xc], ebx
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0xc]
mov ebp, ebx
imul ebp, ebx
test esi, esi
mov dword [esp + 0x10], ebp
je 0x700a11c6
mov ebp, dword [esp + 0x28]
add edi, ecx
mov ecx, dword [esp + 8]
add ebp, dword [esp + 0x10]
mov byte [esp + 0x6e], al
mov dword [ecx - 0x15], edi
mov edi, ecx
mov dword [ecx - 0x11], ebp
mov ebp, dword [esp + 0x3c]
mov byte [ecx - 0xd], al
movzx ecx, byte [esp + 0x30]
mov byte [edi - 0xc], cl
movzx ecx, word [esp + 0x20]
mov word [edi - 0xb], cx
movzx ecx, byte [esp]
lea edi, [esp + 0x210]
shl esi, cl
lea ecx, [eax + eax*2]
or ebp, esi
shl ecx, 3
mov ebx, dword [esp + ecx + 0x78]
lea esi, [edi + ecx]
lea edi, [esi - 0x198]
sub esi, 0x18c
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + ecx + 0x84]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x34]
movsx edx, word [ebx + edx*2]
mov ebx, edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 4]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
imul edx, ebx
mov ebx, dword [esp + 0x48]
mov ecx, ebx
sar ecx, 0x1f
xor ebx, ecx
sub ebx, ecx
cmp edx, ebx
jle 0x700a11a5
add ebx, dword [esp + 0x3c]
cmp edx, ebx
jge 0x700a11a5
mov edx, dword [esp + 4]
sar edx, 0x1f
mov dword [esp + 0x5c], edx
add edx, edx
not edx
add dword [esp + 4], edx
jne 0x700a13a3
mov ebx, dword [esp + 4]
cmp byte [edi + 9], 0xb
mov edi, 0xb
mov dword [esp + 0x48], 0
mov dword [esp + 0x30], 1
cmovne edi, ebx
cmp byte [esi + 9], 0xb
mov esi, 0xb
cmovne esi, ebx
cmp eax, 0xf
jg 0x700a102d
mov edx, dword [esp]
cmp edi, 0xb
movzx edx, byte [edx + 0x707a4911]
je 0x700a0ffc
movzx ebx, byte [edi + 0x707a4900]
lea ecx, [eax + eax*2]
movsx ecx, byte [esp + ecx*8 + 0x81]
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x60], ecx
mov ecx, ebx
lea ebx, [edx + edx*8]
add ebx, ecx
mov ecx, dword [esp + 0x60]
lea ecx, [ecx + ebx*4]
mov ebx, dword [esp + 0x1c]
mov ebx, dword [ebx + ecx*4 + 0x900]
add dword [esp + 0x20], ebx
cmp esi, 0xb
je 0x700a102d
movzx ecx, byte [esi + 0x707a4900]
lea eax, [eax + eax*2]
movsx eax, byte [esp + eax*8 + 0x8d]
lea edx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add edx, ecx
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + eax*4 + 0x900]
add dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
imul ebx, ecx
imul ecx, dword [esp + 0x2c]
sub ebx, 0xffffff80
sub ecx, 0xffffff80
mov eax, ebx
mov edx, ecx
sar eax, 8
sar edx, 8
add eax, dword [esp + 0x40]
add edx, dword [esp + 0x44]
cmp eax, edx
je 0x700a1200
mov ecx, dword [esp + 0x30]
cmp edx, eax
mov ebx, dword [esp + 0x48]
setl al
mov edx, dword [0x707a5980]
movzx eax, al
test ecx, ecx
movsx edx, word [edx + ebx*2]
je 0x700a1096
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x3c]
add ecx, ebx
xor ecx, ebx
mov ebx, dword [esp + 0xc]
sub ebx, ecx
mov ecx, ebx
imul ecx, ebx
mov dword [esp + 0x10], ecx
test eax, eax
je 0x700a11d3
mov edi, dword [esp + 8]
add edx, dword [esp + 0x2c]
movzx ebx, byte [esp + 0x6e]
mov dword [edi - 9], edx
mov edx, dword [esp + 0x28]
add edx, dword [esp + 0x10]
mov byte [edi - 1], bl
mov ebx, edi
mov dword [edi - 5], edx
mov edx, esi
mov esi, dword [esp]
movzx edi, word [esp + 4]
mov byte [ebx], dl
mov dword [esp + 0x3c], ebp
mov ecx, esi
shl eax, cl
mov word [ebx + 1], di
or dword [esp + 0x54], eax
mov eax, esi
sub dword [esp + 8], 0x18
sub dword [esp], 1
mov esi, dword [esp]
lea edx, [esi + 1]
test edx, edx
jle 0x700a1223
mov edx, dword [esi*4 + 0x707a48c0]
mov ebx, esi
mov esi, dword [esp + 0x18]
movsx edi, word [esi + edx*2]
test edi, edi
mov word [esp + 0x20], di
mov dword [esp + 4], edi
jne 0x700a0d95
lea ecx, [eax + eax*2]
movzx edx, byte [ebx + 0x707a4911]
shl ecx, 3
lea edi, [esp + 0x210]
lea esi, [edi + ecx]
movsx ebx, byte [esi - 0x18f]
lea edi, [esi - 0x198]
mov dword [esp + 4], edx
movsx esi, byte [esi - 0x183]
cmp ebx, 0xb
je 0x700a1166
lea ebp, [edx + edx*8]
mov edx, dword [esp + 0x1c]
lea ebp, [ebx + ebp*4]
mov ebx, dword [esp + ecx + 0x78]
add ebx, dword [edx + ebp*4 + 0x900]
mov dword [esp + ecx + 0x78], ebx
mov byte [edi + 9], 0
cmp esi, 0xb
je 0x700a10dc
mov edi, dword [esp + 4]
lea ecx, [eax + eax*2]
shl ecx, 3
mov byte [esp + ecx + 0x8d], 0
lea edx, [edi + edi*8]
lea ebx, [esi + edx*4]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + ecx + 0x84]
add edx, dword [esi + ebx*4 + 0x900]
mov dword [esp + ecx + 0x84], edx
jmp 0x700a10dc
mov dword [esp + 0x30], 0
mov esi, dword [0x707a5984]
mov edx, dword [esp + 4]
movsx edi, word [esi + edx*4]
mov dword [esp + 0x48], edx
mov esi, edi
jmp 0x700a0fb2
add edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
jmp 0x700a0ecb
mov ebx, dword [esp + 8]
add edx, dword [esp + 0x20]
mov dword [ebx - 9], edx
mov edx, dword [esp + 0x24]
add edx, dword [esp + 0x10]
mov dword [ebx - 5], edx
mov edx, ebx
movzx ebx, byte [esp + 0x6e]
mov byte [edx - 1], bl
mov edx, edi
mov ebx, dword [esp + 8]
jmp 0x700a10c0
movzx eax, bl
movzx edx, cl
jmp 0x700a105d
mov ebx, ebp
movzx esi, bl
mov ebx, edi
mov dword [esp + 0xc], esi
movzx esi, bl
jmp 0x700a0e7a
mov ebp, eax
mov eax, dword [esp + 0x3c]
movsx edi, byte [esp + 0x6f]
lea ebx, [esp + 0x210]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x54]
mov edx, edi
mov dword [esp + 0x74], eax
xor eax, eax
test dl, dl
cmovns eax, edi
mov edi, dword [esp + 0x4c]
sub edi, eax
mov eax, dword [esp + 0x64]
movzx edx, byte [edi + 0x707a4910]
movsx esi, byte [eax]
mov eax, dword [esp + 0x224]
lea edx, [edx + edx*8]
shl edx, 2
movsx eax, byte [eax]
add esi, eax
lea eax, [ebp + ebp*2]
shl eax, 3
lea ecx, [ebx + eax]
movsx ebx, byte [ecx - 0x18f]
lea esi, [esi + esi*2]
lea edx, [edx + esi*4]
mov esi, dword [esp + 0x1c]
movsx ecx, byte [ecx - 0x183]
add ebx, edx
mov edi, dword [esi + ebx*4 + 0x900]
add edi, dword [esp + eax + 0x78]
add edx, ecx
imul edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x50]
imul ebx, dword [esp + eax + 0x7c]
sub edi, 0xffffff80
mov edx, dword [ecx + edx*4 + 0x900]
mov esi, edi
sar esi, 8
add edx, dword [esp + eax + 0x84]
add ebx, esi
imul edx, dword [esp + 0x14]
mov esi, dword [esp + 0x50]
imul esi, dword [esp + eax + 0x88]
sub edx, 0xffffff80
mov ecx, edx
sar ecx, 8
mov eax, esi
add eax, ecx
cmp ebx, eax
je 0x700a1390
cmp eax, ebx
setl al
cmp dword [esp + 0x4c], ebp
movzx eax, al
jle 0x700a139d
mov ebx, 0xffffffff
mov ecx, ebp
jmp 0x700a1312
mov ecx, edx
lea esi, [eax + eax]
mov edi, dword [esp + 0x18]
lea edx, [ecx + ecx*2]
add esi, eax
mov eax, dword [esp + eax*4 + 0x70]
shl edx, 3
lea edx, [edx + esi*4]
lea ebp, [esp + edx + 0x78]
mov edx, dword [ecx*4 + 0x707a48c0]
movzx esi, word [ebp + 0xa]
mov word [edi + edx*2], si
mov edi, dword [esp + 0x34]
test si, si
cmovne ebx, ecx
shr eax, cl
and eax, 1
imul si, word [edi + edx*2]
mov edi, dword [esp + 0x38]
mov word [edi + edx*2], si
movsx edx, byte [ebp + 8]
cmp dword [esp + 0x4c], edx
jg 0x700a1310
add ebx, 1
setne al
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x224]
mov byte [edx], al
mov byte [esi], al
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x14]
mov byte [eax], bl
add esp, 0x210
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, edi
movzx ebx, al
movzx eax, dl
jmp 0x700a12f0
xor ebx, ebx
xor eax, eax
jmp 0x700a1367
mov dword [esp + 0x30], 1
jmp 0x700a11ad