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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0x8c
mov eax, dword [eax + 0x2004]
mov edi, dword [ebp + 0x107330]
mov dword [esp + 0x70], 0x7fffffff
mov esi, dword [ebp + 0x10733c]
mov ebx, dword [ebp + 0x107338]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x2008]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x6084]
mov dword [esp + 0x48], eax
mov eax, dword [ecx*4 + str._n_t_b_a]
mov ecx, dword [ebp + 0x107334]
mov dword [esp + 0x64], eax
lea eax, [ebp + 0x86230]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0xc6238]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc623c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xb4]
movzx eax, word [eax]
mov word [esp + 0x50], ax
mov eax, dword [esp + 0xb4]
sar word [esp + 0x50], 3
movzx eax, word [eax + 2]
mov word [esp + 0x52], ax
movsx eax, word [edx + 2]
sar word [esp + 0x52], 3
mov dword [esp + 0x6c], edi
cmp edi, eax
jg 0x700cdaa3
cmp eax, ecx
cmovle ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x6c]
mov ecx, eax
mov word [edx + 2], ax
movsx eax, word [edx]
cmp ebx, eax
jg 0x700cdabb
cmp eax, esi
mov ebx, esi
cmovle ebx, eax
movsx eax, bx
mov edi, eax
mov dword [esp + 0x20], eax
movsx eax, cx
mov word [edx], bx
mov edx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x6080]
mov dword [esp + 0x10], 0x7fffffff
mov esi, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
imul eax, edi
add eax, edx
add eax, esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
call dword [eax]
movzx esi, word [esp + 0x6c]
mov edx, ebx
sub si, word [esp + 0x52]
sub dx, word [esp + 0x50]
mov ecx, eax
jne 0x700cdf15
xor eax, eax
test si, si
setne al
shl eax, 2
mov edi, dword [esp + 0x54]
movsx edx, dx
mov eax, dword [ebp + eax + 0x86230]
add eax, dword [edi + edx*4]
movsx edx, si
mov edi, dword [esp + 0x58]
add eax, dword [edi + edx*4]
imul eax, dword [esp + 0xa0]
mov edi, dword [esp + 0xa4]
sub eax, 0xffffff80
sar eax, 8
add ecx, eax
test edi, edi
mov dword [esp + 0x70], ecx
je 0x700cdf26
mov esi, dword [esp + 0x64]
test esi, esi
js 0x700cdf44
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x3c], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x40], ecx
mov word [esp + 0x24], bx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x68], eax
movzx ecx, byte [esp + 0x3c]
mov eax, 1
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x20]
shl eax, cl
mov edx, dword [ebx + 0x107330]
mov edi, ebx
lea ecx, [esi + eax]
cmp ecx, dword [ebx + 0x10733c]
mov ebx, esi
setle cl
sub ebx, eax
cmp ebx, dword [edi + 0x107338]
setge bl
and ecx, ebx
mov ebx, dword [esp + 0x1c]
sub ebx, eax
cmp ebx, edx
setge bl
test cl, bl
je 0x700cdc0e
add eax, dword [esp + 0x1c]
cmp eax, dword [edi + 0x107334]
jle 0x700ce208
mov eax, dword [esp + 0x14]
mov ebp, dword [eax]
test ebp, ebp
jle 0x700cdca9
movzx eax, word [esp + 0x6c]
xor esi, esi
mov dword [esp + 0x34], ebp
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x44], 0xffffffff
mov ebp, dword [esp + 0x4c]
mov word [esp + 0x38], ax
mov edi, eax
jmp 0x700cdc4b
mov edx, dword [ebp + 0x107330]
movzx edi, word [esp + 0x38]
add di, word [ebx + 2]
movzx ecx, word [ebx]
movsx eax, di
cmp eax, edx
jl 0x700cdc80
cmp eax, dword [ebp + 0x107334]
jg 0x700cdc80
add cx, word [esp + 0x24]
movsx edx, cx
cmp edx, dword [ebp + 0x107338]
jl 0x700cdc80
cmp edx, dword [ebp + 0x10733c]
jle 0x700ce473
lea esi, [esi]
add esi, 1
add ebx, 4
cmp esi, dword [esp + 0x34]
jl 0x700cdc40
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x60]
cmp eax, 0xffffffff
cmovne ebx, dword [esp + 0x3c]
cmove eax, dword [esp + 0x18]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x18], eax
add dword [esp + 0x3c], 1
mov eax, dword [esp + 0x3c]
add dword [esp + 0x14], 4
add dword [esp + 0x68], 0x20
cmp dword [esp + 0x64], eax
jge 0x700cdbb8
cmp dword [esp + 0x60], 0xffffffff
mov ebp, dword [esp + 0x4c]
je 0x700ce03a
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x18]
mov eax, ebx
shl eax, 5
add eax, dword [esp + 0xc0]
mov dword [esp + 0x64], ebx
lea eax, [eax + edi*4]
mov edi, ebx
movsx edx, word [eax]
movsx eax, word [eax + 2]
add dword [esp + 0x20], edx
add dword [esp + 0x1c], eax
mov esi, dword [esp + 0xa4]
mov eax, edi
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x60], edi
test esi, esi
sete byte [esp + 0x68]
shl eax, 5
add eax, dword [esp + 0xc0]
lea ebx, [ebx + edi*4]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x60]
cmp dword [esp + 0x64], eax
jne 0x700ce103
cmp byte [esp + 0x68], 0
jne 0x700ce103
movzx ecx, byte [esp + 0x60]
mov eax, 1
shl eax, cl
mov dword [esp + 0x44], eax
lea esi, [esi]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
mov eax, dword [ebp + 0x107330]
mov edx, ecx
mov ebx, dword [esp + 0x18]
add edx, edi
cmp edx, dword [ebp + 0x10733c]
setle dl
sub ecx, edi
cmp ecx, dword [ebp + 0x107338]
setge cl
and edx, ecx
mov ecx, esi
sub ecx, edi
cmp ecx, eax
setge cl
and edx, ecx
mov ecx, esi
add ecx, edi
cmp ecx, dword [ebp + 0x107334]
setle cl
and edx, ecx
test ebx, ebx
jne 0x700cdf74
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx]
lea ecx, [ebx - 1]
mov dword [esp + 0x24], ebx
mov ebx, ecx
mov esi, dword [esp + 0x18]
mov dword [esp + 0x74], ecx
cmp esi, ebx
mov ebx, 0
lea ecx, [esi + 1]
cmove ecx, ebx
test dl, dl
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ecx
je 0x700cdf90
movzx eax, word [esp + 0x20]
mov dword [esp + 0x4c], ebp
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x24], 0xffffffff
mov word [esp + 0x34], ax
movzx eax, word [esp + 0x1c]
mov word [esp + 0x38], ax
mov eax, dword [esp + ebx*4 + 0x74]
mov edi, dword [esp + 0x14]
movzx esi, word [esp + 0x34]
lea eax, [edi + eax*4]
movzx edi, word [esp + 0x38]
add si, word [eax]
add di, word [eax + 2]
mov dword [esp + 0x10], ecx
movsx eax, si
imul eax, ebp
movsx edx, di
mov dword [esp + 0xc], ebp
add eax, edx
add eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
call dword [eax]
mov edx, dword [esp + 0x70]
mov ecx, edx
cmp eax, edx
jge 0x700cdecd
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x700cdff8
sub di, word [esp + 0x52]
sub si, word [esp + 0x50]
mov word [esp + 0x40], di
jne 0x700ce007
xor ecx, ecx
test di, di
setne cl
shl ecx, 2
movsx edi, si
mov esi, dword [esp + 0x5c]
mov ecx, dword [esi + ecx]
mov esi, dword [esp + 0x54]
add ecx, dword [esi + edi*4]
movsx edi, word [esp + 0x40]
mov esi, dword [esp + 0x58]
add ecx, dword [esi + edi*4]
imul ecx, dword [esp + 0xa0]
sub ecx, 0xffffff80
sar ecx, 8
add eax, ecx
cmp edx, eax
jg 0x700cdff8
mov ecx, edx
add ebx, 1
cmp ebx, 3
jne 0x700cde0e
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
je 0x700ce020
mov eax, dword [esp + eax*4 + 0x74]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
lea eax, [ebx + eax*4]
movsx edx, word [eax]
movsx eax, word [eax + 2]
add dword [esp + 0x20], edx
add dword [esp + 0x1c], eax
jmp 0x700cdd60
cmp si, 1
sbb eax, eax
and eax, 0xfffffffc
add eax, 0xc
jmp 0x700cdb33
cmp dword [esp + 0x64], 0xffffffff
mov eax, ecx
je 0x700cdf46
mov dword [esp + 0x18], 0xffffffff
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], ecx
jmp 0x700cdd01
mov eax, ecx
mov ebx, dword [esp + 0xb8]
cmp eax, 0x7fffffff
movzx edi, word [esp + 0x20]
mov word [ebx], di
movzx edi, word [esp + 0x1c]
mov word [ebx + 2], di
jne 0x700ce602
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x18]
lea ecx, [ebx - 1]
mov ebx, dword [esp + 0x3c]
mov edi, dword [ebx]
mov ebx, edi
mov dword [esp + 0x24], edi
sub ebx, 1
jmp 0x700cddc1
movzx edi, word [esp + 0x20]
xor ebx, ebx
mov dword [esp + 0x24], 0xffffffff
mov word [esp + 0x34], di
movzx edi, word [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + ebx*4 + 0x74]
lea edx, [esi + edx*4]
mov esi, edi
add si, word [edx + 2]
movzx ecx, word [edx]
movsx edx, si
cmp edx, eax
jl 0x700cdfe4
cmp edx, dword [ebp + 0x107334]
jg 0x700cdfe4
add cx, word [esp + 0x34]
movsx eax, cx
cmp eax, dword [ebp + 0x107338]
jl 0x700cdfe4
cmp eax, dword [ebp + 0x10733c]
jle 0x700ce043
add ebx, 1
cmp ebx, 3
je 0x700cdee5
mov eax, dword [ebp + 0x107330]
jmp 0x700cdfa9
mov dword [esp + 0x70], eax
mov ecx, eax
mov dword [esp + 0x24], ebx
jmp 0x700cdecd
cmp word [esp + 0x40], 1
sbb ecx, ecx
and ecx, 0xfffffffc
add ecx, 0xc
jmp 0x700cde96
sub dword [esp + 0x60], 1
sub dword [esp + 0x3c], 4
sub dword [esp + 0x14], 0x20
cmp dword [esp + 0x60], 0xffffffff
jne 0x700cdd31
mov eax, dword [esp + 0x40]
jmp 0x700cdf46
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x48]
imul eax, ecx
mov dword [esp + 0xc], ecx
add eax, edx
add eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
call dword [eax]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x40], edx
cmp eax, edx
jge 0x700cdfe4
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x700ce0f2
sub si, word [esp + 0x52]
sub cx, word [esp + 0x50]
mov word [esp + 0x38], si
jne 0x700ce5ef
xor edx, edx
test si, si
setne dl
shl edx, 2
movsx esi, cx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + edx]
mov ecx, dword [esp + 0x54]
add edx, dword [ecx + esi*4]
movsx esi, word [esp + 0x38]
mov ecx, dword [esp + 0x58]
add edx, dword [ecx + esi*4]
imul edx, dword [esp + 0xa0]
sub edx, 0xffffff80
sar edx, 8
add eax, edx
cmp dword [esp + 0x40], eax
jle 0x700cdfe4
mov dword [esp + 0x70], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x40], eax
jmp 0x700cdfe4
movzx ecx, byte [esp + 0x60]
mov eax, 1
mov edx, dword [ebp + 0x107330]
shl eax, cl
mov ecx, dword [esp + 0x20]
mov ebx, eax
mov dword [esp + 0x44], eax
add eax, ecx
cmp eax, dword [ebp + 0x10733c]
setle al
sub ecx, ebx
cmp ecx, dword [ebp + 0x107338]
setge cl
and eax, ecx
mov ecx, dword [esp + 0x1c]
sub ecx, ebx
cmp ecx, edx
setge cl
test al, cl
je 0x700ce158
mov eax, dword [esp + 0x1c]
add eax, ebx
cmp eax, dword [ebp + 0x107334]
jle 0x700ce333
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
test eax, eax
jle 0x700ce020
movzx edi, word [esp + 0x20]
xor esi, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], 0xffffffff
mov word [esp + 0x38], di
movzx edi, word [esp + 0x1c]
mov word [esp + 0x34], di
mov edi, dword [esp + 0x14]
jmp 0x700ce196
mov edx, dword [ebp + 0x107330]
movzx ebx, word [esp + 0x34]
add bx, word [edi + 2]
movzx ecx, word [edi]
movsx eax, bx
cmp eax, edx
jl 0x700ce1d0
cmp eax, dword [ebp + 0x107334]
jg 0x700ce1d0
add cx, word [esp + 0x38]
movsx edx, cx
cmp edx, dword [ebp + 0x107338]
jl 0x700ce1d0
cmp edx, dword [ebp + 0x10733c]
jle 0x700ce531
lea esi, [esi]
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x24]
jl 0x700ce190
mov edi, dword [esp + 0x4c]
cmp edi, 0xffffffff
je 0x700ce020
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
lea eax, [ebx + edi*4]
movsx edx, word [eax]
movsx eax, word [eax + 2]
add dword [esp + 0x20], edx
add dword [esp + 0x1c], eax
jmp 0x700cdd60
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
test ebx, ebx
jle 0x700cdca9
movzx eax, word [esp + 0x6c]
xor ebp, ebp
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x44], 0xffffffff
mov word [esp + 0x34], ax
jmp 0x700ce295
sub di, word [esp + 0x52]
sub si, word [esp + 0x50]
mov word [esp + 0x38], di
jne 0x700ce320
xor ecx, ecx
test di, di
setne cl
shl ecx, 2
movsx edi, si
mov esi, dword [esp + 0x5c]
mov ecx, dword [esi + ecx]
mov esi, dword [esp + 0x54]
add ecx, dword [esi + edi*4]
movsx edi, word [esp + 0x38]
mov esi, dword [esp + 0x58]
add ecx, dword [esi + edi*4]
imul ecx, dword [esp + 0xa0]
sub ecx, 0xffffff80
sar ecx, 8
add eax, ecx
cmp edx, eax
jg 0x700ce2f6
mov ecx, edx
mov eax, dword [esp + 0x14]
add ebp, 1
add ebx, 4
cmp ebp, dword [eax]
jge 0x700ce30e
movzx esi, word [esp + 0x24]
add si, word [ebx]
mov eax, dword [esp + 0x48]
movzx edi, word [esp + 0x34]
movsx edx, si
add di, word [ebx + 2]
imul edx, eax
mov dword [esp + 0xc], eax
movsx eax, di
mov dword [esp + 0x10], ecx
add eax, edx
add eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
call dword [eax]
mov edx, dword [esp + 0x70]
mov ecx, edx
cmp eax, edx
jge 0x700ce287
mov ecx, dword [esp + 0xb0]
test ecx, ecx
jne 0x700ce234
mov dword [esp + 0x70], eax
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], ebp
add ebx, 4
add ebp, 1
cmp ebp, dword [eax]
jl 0x700ce295
mov eax, dword [esp + 0x70]
mov dword [esp + 0x40], eax
jmp 0x700cdc8c
cmp word [esp + 0x38], 1
sbb ecx, ecx
and ecx, 0xfffffffc
add ecx, 0xc
jmp 0x700ce254
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
test ebx, ebx
jle 0x700ce020
movzx eax, word [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x40], ebp
mov word [esp + 0x24], ax
movzx eax, word [esp + 0x1c]
mov dword [esp + 0x4c], 0xffffffff
mov word [esp + 0x34], ax
xor eax, eax
mov ebp, eax
jmp 0x700ce3d1
sub si, word [esp + 0x52]
sub bx, word [esp + 0x50]
mov word [esp + 0x38], si
jne 0x700ce460
xor ecx, ecx
test si, si
setne cl
shl ecx, 2
movsx esi, bx
mov ebx, dword [esp + 0x5c]
mov ecx, dword [ebx + ecx]
mov ebx, dword [esp + 0x54]
add ecx, dword [ebx + esi*4]
movsx esi, word [esp + 0x38]
mov ebx, dword [esp + 0x58]
add ecx, dword [ebx + esi*4]
imul ecx, dword [esp + 0xa0]
sub ecx, 0xffffff80
sar ecx, 8
add eax, ecx
cmp edx, eax
jg 0x700ce432
mov ecx, edx
mov eax, dword [esp + 0x3c]
add ebp, 1
add edi, 4
cmp ebp, dword [eax]
jge 0x700ce44a
movzx ebx, word [esp + 0x24]
add bx, word [edi]
mov eax, dword [esp + 0x48]
movzx esi, word [esp + 0x34]
movsx edx, bx
add si, word [edi + 2]
imul edx, eax
mov dword [esp + 0xc], eax
movsx eax, si
mov dword [esp + 0x10], ecx
add eax, edx
add eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
call dword [eax]
mov edx, dword [esp + 0x70]
mov ecx, edx
cmp eax, edx
jge 0x700ce3c3
mov ecx, dword [esp + 0xb0]
test ecx, ecx
jne 0x700ce370
mov dword [esp + 0x70], eax
mov ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], ebp
add edi, 4
add ebp, 1
cmp ebp, dword [eax]
jl 0x700ce3d1
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x40], eax
jmp 0x700ce1dc
cmp word [esp + 0x38], 1
sbb ecx, ecx
and ecx, 0xfffffffc
add ecx, 0xc
jmp 0x700ce390
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x48]
imul edx, ecx
mov dword [esp + 0xc], ecx
add eax, edx
add eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
call dword [eax]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], edx
cmp eax, edx
jge 0x700ce522
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x700ce6bf
sub di, word [esp + 0x52]
sub cx, word [esp + 0x50]
mov word [esp + 0x34], di
jne 0x700ce6f5
xor edx, edx
test di, di
setne dl
shl edx, 2
movsx edi, cx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + edx]
mov ecx, dword [esp + 0x54]
add edx, dword [ecx + edi*4]
movsx edi, word [esp + 0x34]
mov ecx, dword [esp + 0x58]
add edx, dword [ecx + edi*4]
imul edx, dword [esp + 0xa0]
sub edx, 0xffffff80
sar edx, 8
add eax, edx
cmp dword [esp + 0x40], eax
jg 0x700ce6bf
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
jmp 0x700cdc80
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x48]
imul edx, ecx
mov dword [esp + 0xc], ecx
add eax, edx
add eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
call dword [eax]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x40], edx
cmp eax, edx
jge 0x700ce5e0
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x700ce6da
sub bx, word [esp + 0x52]
sub cx, word [esp + 0x50]
mov word [esp + 0x24], bx
jne 0x700ce719
xor edx, edx
test bx, bx
setne dl
shl edx, 2
movsx ebx, cx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + edx]
mov ecx, dword [esp + 0x54]
add edx, dword [ecx + ebx*4]
movsx ebx, word [esp + 0x24]
mov ecx, dword [esp + 0x58]
add edx, dword [ecx + ebx*4]
imul edx, dword [esp + 0xa0]
sub edx, 0xffffff80
sar edx, 8
add eax, edx
cmp dword [esp + 0x40], eax
jg 0x700ce6da
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x700ce1d0
cmp word [esp + 0x38], 1
sbb edx, edx
and edx, 0xfffffffc
add edx, 0xc
jmp 0x700ce0bb
lea eax, [esp + 0x70]
movsx edx, word [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
imul edx, eax
mov dword [esp + 0xc], eax
movsx eax, di
add eax, edx
add eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0xac]
call dword [eax]
add eax, dword [esp + 0xb0]
mov edx, eax
xor eax, eax
test edx, edx
je 0x700cdf69
mov edx, dword [ebp + 0x8622c]
mov ecx, dword [ebp + 0x61d4]
test edx, edx
je 0x700cdf69
mov edi, dword [esp + 0xb4]
movzx eax, word [esp + 0x20]
movzx ebx, word [esp + 0x1c]
shl eax, 3
shl ebx, 3
sub bx, word [edi + 2]
sub ax, word [edi]
movsx edi, ax
jne 0x700ce708
xor eax, eax
test bx, bx
setne al
shl eax, 2
mov esi, dword [edx]
movsx ebx, bx
mov edx, dword [edx + 4]
mov eax, dword [ebp + eax + 0x621c]
add eax, dword [esi + edi*4]
add eax, dword [edx + ebx*4]
add esp, 0x8c
pop ebx
pop esi
imul eax, ecx
pop edi
pop ebp
add eax, 0x1000
sar eax, 0xd
ret
mov edi, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], eax
mov edi, dword [edi]
mov dword [esp + 0x34], edi
jmp 0x700cdc80
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x40], eax
mov ebx, dword [ebx]
mov dword [esp + 0x24], ebx
jmp 0x700ce1d0
cmp word [esp + 0x34], 1
sbb edx, edx
and edx, 0xfffffffc
add edx, 0xc
jmp 0x700ce4eb
cmp bx, 1
sbb eax, eax
and eax, 0xfffffffc
add eax, 0xc
jmp 0x700ce694
cmp word [esp + 0x24], 1
sbb edx, edx
and edx, 0xfffffffc
add edx, 0xc
jmp 0x700ce5a9
push ebp
push edi
push esi
push ebx
sub esp, 0x14
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x48]
mov edi, esi
mov esi, dword [esp + 0x40]
mov ebp, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x38], esi
lea esi, [ebx + 8]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp]
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x48], 0x7079f880
mov dword [esp + 0x44], 0x7079f9e0
add esp, 0x14
pop ebx
pop esi
pop edi
pop ebp
jmp 0x700cd9f0