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

Disassembly:
sub esp, 0x84
push ebx
push ebp
mov ebp, dword [esp + 0x98]
xor ebx, ebx
push esi
push edi
mov edi, dword [esp + 0x98]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x44], 0xffffffff
mov esi, dword [edi]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x50], esi
cmp dword [edi + 0x24], eax
jne 0x648688
cmp byte [esi + 0x49], al
jne 0x648688
push dword [esp + 0x9c]
push edi
call fcn.00666f20
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x64867f
push ebx
push ebx
push 0x6d
push ebp
push edi
call fcn.00668260
mov ecx, eax
add esp, 0x14
xor eax, eax
mov dword [esp + 0x68], ecx
cmp dword [ebp + 0xc], eax
setne al
mov dword [esp + 0x60], eax
test ecx, ecx
jne 0x647f70
push ecx
push ecx
push ebp
push edi
call fcn.00650390
add esp, 0x10
test eax, eax
je 0x647f75
mov eax, 1
push ebp
push edi
mov dword [esp + 0x18], eax
call fcn.00676a10
add esp, 8
test eax, eax
jne 0x64867f
cmp dword [esp + 0x68], eax
setne al
push eax
push ebp
push edi
call fcn.00659a20
add esp, 0xc
test eax, eax
jne 0x64867f
push dword [ebp + 0x48]
push esi
call fcn.00663ac0
mov ecx, eax
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push 0
push dword [ebp]
push 9
push edi
call fcn.00640650
add esp, 0x1c
mov dword [esp + 0x30], eax
cmp eax, 1
je 0x64867f
mov ecx, dword [esp + 0x9c]
xor edx, edx
mov eax, dword [edi + 0x28]
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], edx
mov dword [ecx + 0x38], eax
inc dword [edi + 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [edi + 0x28]
test eax, eax
je 0x648010
lea ecx, [ecx]
inc ecx
inc edx
mov dword [edi + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x648000
mov dword [esp + 0x4c], edx
cmp dword [esp + 0x60], ebx
je 0x64802d
mov eax, dword [edi + 0x1b8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp]
mov dword [esp + 0x6c], edi
mov dword [edi + 0x1b8], eax
push edi
call fcn.00657760
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x648677
cmp byte [edi + 0x12], 0
jne 0x64804d
or dword [ebx + 0x94], 0x10
push dword [esp + 0x18]
push 1
push edi
call fcn.006410b0
add esp, 0xc
cmp dword [esp + 0x60], 0
je 0x648084
push dword [esp + 0x24]
push dword [esp + 0xa4]
push ebp
push edi
call fcn.0065b220
mov eax, dword [esp + 0x34]
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x28], eax
push dword [esp + 0xa0]
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x7c], edi
call fcn.00662600
add esp, 8
test eax, eax
jne 0x648677
test byte [esi + 0x1c], 0x80
je 0x648101
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
push eax
push 0
push 0x43
push ebx
mov dword [esp + 0x54], eax
call fcn.0066bba0
add esp, 0x10
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x10]
jne 0x64818a
cmp dword [esp + 0xa0], 0
jne 0x64818a
test eax, eax
jne 0x64818a
cmp dword [ebp + 0x38], eax
jne 0x64818a
push dword [ebp]
mov esi, dword [esp + 0x1c]
push 1
push dword [ebp + 0x1c]
push esi
push edi
call fcn.00667af0
add esp, 0x14
test byte [ebp + 0x24], 0x20
jne 0x648156
push 0xffffffffffffffff
push dword [ebp]
push dword [esp + 0x4c]
push esi
push dword [ebp + 0x1c]
push 0x85
push ebx
call fcn.0066bc70
add esp, 0x1c
mov esi, dword [ebp + 8]
test esi, esi
je 0x64860c
mov edi, dword [esp + 0x18]
push edi
push dword [esi + 0x2c]
push 0x85
push ebx
call fcn.0066bba0
mov esi, dword [esi + 0x14]
add esp, 0x10
test esi, esi
jne 0x648165
mov edi, dword [esp + 0x98]
jmp 0x64860c
test byte [esp + 0x90], 0x40
je 0x648199
mov eax, 1
neg eax
mov ecx, 0x414
sbb eax, eax
and eax, 0xfffffff8
add eax, 8
or ax, cx
test byte [ebp + 0x24], 0x20
movzx eax, ax
mov dword [esp + 0x30], eax
jne 0x6481e2
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
push eax
push 0
push 0x46
push ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x58], 1
mov dword [esp + 0x6c], eax
call fcn.0066bba0
add esp, 0x10
jmp 0x64822e
push ebp
call fcn.00661920
mov dword [esp + 0x14], eax
movzx ecx, word [eax + 0x32]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x4c], ecx
movsx ecx, cx
push ecx
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x40], edx
mov edx, dword [edi + 0x28]
push edx
mov dword [edi + 0x2c], eax
push 0x6c
lea eax, [edx + 1]
mov dword [esp + 0x44], edx
push ebx
mov dword [edi + 0x28], eax
call fcn.0066bba0
push dword [esp + 0x24]
mov dword [esp + 0x54], eax
push edi
call fcn.00675e40
add esp, 0x1c
mov eax, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x34]
push 0
push 0
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push edi
call fcn.00678ea0
mov ecx, eax
add esp, 0x1c
mov dword [esp + 0x64], ecx
test ecx, ecx
je 0x648677
test byte [esi + 0x1c], 0x80
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x30], eax
movzx eax, byte [ecx + 0x31]
mov dword [esp + 0x2c], eax
je 0x64828e
push 1
push dword [esp + 0x48]
push 0x50
push ebx
call fcn.0066bba0
add esp, 0x10
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x6482de
mov eax, dword [esp + 0x48]
cwde
test eax, eax
jle 0x6482d4
xor esi, esi
mov edi, eax
mov eax, dword [esp + 0x38]
add eax, esi
push eax
mov eax, dword [ecx + 4]
movsx eax, word [eax + esi*2]
push eax
push dword [esp + 0x2c]
push ebp
push ebx
call fcn.0064a7e0
mov ecx, dword [esp + 0x24]
inc esi
add esp, 0x14
cmp esi, edi
jl 0x6482a3
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
jmp 0x648301
mov eax, dword [edi + 0x2c]
push 0
inc eax
push eax
push dword [esp + 0x2c]
push 0xffffffffffffffff
push ebp
push edi
call fcn.0064a710
add esp, 0x18
mov dword [esp + 0x14], eax
cmp eax, dword [edi + 0x2c]
jle 0x648301
mov dword [edi + 0x2c], eax
cmp dword [esp + 0x2c], 0
je 0x6483ac
mov eax, dword [esp + 0x48]
movzx eax, ax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
add eax, 2
cdq
push edx
push eax
push esi
call fcn.006478f0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x64834d
push dword [esp + 0x64]
call fcn.0067b7c0
add esp, 4
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
jmp 0x648681
mov eax, dword [esp + 0x4c]
inc eax
push eax
push 1
push ecx
call sub.MSVCRT.dll_memset
mov eax, dword [esp + 0x58]
add esp, 0xc
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov byte [eax + ecx + 1], 0
mov eax, dword [esp + 0x70]
test eax, eax
js 0x64837d
sub eax, edx
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x30]
test eax, eax
js 0x64838b
sub eax, edx
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x64839d
push eax
push ebx
call fcn.0066c180
add esp, 8
push ebx
call fcn.00673b60
mov dword [esp + 0x5c], eax
jmp 0x648430
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x64840c
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
movsx esi, ax
push esi
push ecx
push dword [edi]
mov dword [esp + 0x24], 0
call fcn.00657f10
add esp, 8
push eax
push dword [esp + 0x1c]
push esi
push dword [esp + 0x48]
push 0x63
push ebx
call fcn.0066bc70
push esi
push dword [esp + 0x58]
push dword [esp + 0x38]
push dword [esp + 0x5c]
push 0x7f
push ebx
call fcn.0066bd50
mov esi, dword [esp + 0x84]
add esp, 0x34
jmp 0x648427
push eax
push dword [esp + 0x60]
mov dword [esp + 0x20], 1
push 0x8f
push ebx
call fcn.0066bba0
add esp, 0x10
push dword [esp + 0x64]
call fcn.0067b7c0
add esp, 4
cmp dword [esp + 0x60], 0
jne 0x648490
cmp dword [esp + 0x2c], 2
mov dword [esp + 0x3c], 0
jne 0x648458
push 0x14
push ebx
call fcn.0066bae0
add esp, 8
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x28]
push dword [esp + 0x30]
push 8
push 0x69
push ebp
push edi
call fcn.0065ba60
mov eax, dword [esp + 0x4c]
add esp, 0x20
cmp eax, 2
jne 0x648494
push dword [esp + 0x3c]
push ebx
call fcn.006736b0
add esp, 8
jmp 0x648498
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x6484d0
cmp dword [ebp + 0x38], 0
mov ecx, dword [esp + 0x28]
jne 0x648538
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
cmp byte [eax + ecx], 0
je 0x648532
mov eax, dword [esp + 0x18]
cwde
push eax
push dword [esp + 0x18]
push dword [esp + 0x60]
push ecx
push 0x1d
push ebx
call fcn.0066bd50
add esp, 0x18
jmp 0x64852e
cmp dword [esp + 0x10], 0
je 0x648515
push dword [esp + 0x34]
push 0x25
push ebx
call fcn.0066bb40
add esp, 0xc
mov dword [esp + 0x40], eax
cmp dword [ebp + 0x38], 0
push dword [esp + 0x14]
je 0x648504
push 0
push dword [esp + 0x3c]
push 0x60
push ebx
call fcn.0066bc10
jmp 0x64852b
push dword [esp + 0x38]
push 0x7a
push ebx
call fcn.0066bba0
add esp, 0x10
jmp 0x64852e
push dword [esp + 0x14]
push 0
push dword [esp + 0x64]
push 0x2a
push ebx
call fcn.0066bc10
mov dword [esp + 0x54], eax
add esp, 0x14
mov ecx, dword [esp + 0x28]
cmp dword [ebp + 0x38], 0
je 0x648581
push ebp
push esi
call fcn.00657510
push ebp
push edi
mov esi, eax
call fcn.00677670
push 0xfffffffffffffff4
push esi
push dword [esp + 0x2c]
push 1
push 0
push 0xc
push ebx
call fcn.0066bc70
push 2
push ebx
call fcn.0066c160
push edi
call fcn.0065b370
mov eax, dword [esp + 0x64]
add esp, 0x38
cmp eax, 1
jne 0x6485b8
cmp dword [edi + 0x78], 0
jne 0x6485bc
mov byte [edi + 0x14], 0
jmp 0x6485bc
push dword [esp + 0x30]
cmp byte [edi + 0x12], 0
push dword [esp + 0x30]
sete al
push 0xa
movzx eax, al
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x6c]
push ecx
push dword [esp + 0x88]
push ebp
push edi
call fcn.00656660
mov eax, dword [esp + 0x58]
add esp, 0x2c
test eax, eax
je 0x6485d4
push dword [esp + 0x58]
push ebx
call fcn.00675920
push dword [esp + 0x6c]
call fcn.0067b7c0
add esp, 0xc
jmp 0x64860c
cmp dword [esp + 0x10], 0
mov esi, dword [esp + 0x40]
je 0x6485fb
lea eax, [esi + 1]
push eax
push dword [esp + 0x38]
push 7
push ebx
call fcn.0066bba0
push esi
push ebx
call fcn.006736b0
add esp, 0x18
jmp 0x64860c
push esi
push ebx
call fcn.00673050
push esi
push ebx
call fcn.006736b0
add esp, 0x10
cmp byte [edi + 0x12], 0
jne 0x648621
cmp dword [edi + 0x7c], 0
jne 0x648621
push edi
call fcn.00640b20
add esp, 4
mov esi, dword [esp + 0x50]
test byte [esi + 0x1c], 0x80
je 0x648340
cmp byte [edi + 0x12], 0
jne 0x648340
cmp dword [edi + 0x7c], 0
jne 0x648340
push 1
push dword [esp + 0x48]
push 0x4e
push ebx
call fcn.0066bba0
push 1
push ebx
call fcn.00675d90
push 0
push str.rows_deleted
push 0
push 0
push ebx
call fcn.00675d40
mov ebx, dword [esp + 0x4c]
add esp, 0x2c
mov ecx, dword [esp + 0x1c]
jmp 0x648681
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
jmp 0x648681
xor ecx, ecx
mov ebp, dword [esp + 0xa0]
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x648696
mov dword [eax + 0x1b8], ecx
push dword [esp + 0x9c]
push esi
call fcn.006668d0
add esp, 8
test ebp, ebp
je 0x6486b4
push ebp
push esi
call fcn.0064cdb0
add esp, 8
test ebx, ebx
je 0x64870c
test esi, esi
je 0x648703
cmp dword [esi + 0x1d0], 0
je 0x6486da
push ebx
push esi
call fcn.006311f0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
cmp ebx, dword [esi + 0x128]
jb 0x648703
cmp ebx, dword [esi + 0x12c]
jae 0x648703
mov eax, dword [esi + 0x124]
pop edi
mov dword [ebx], eax
mov dword [esi + 0x124], ebx
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
push ebx
call fcn.006014a0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret