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

Disassembly:
sub esp, 0x61c
mov eax, dword [0x93e25c]
push ebx
push ebp
mov ebp, dword [esp + 0x628]
mov dword [esp + 0x620], eax
lea eax, [esp + 0x34]
push esi
push edi
xor edi, edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x64]
xor ecx, ecx
cmp eax, edi
setne cl
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x3c], 0x64
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], ecx
mov esi, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x5c]
imul esi, esi, 0x154
mov eax, dword [esi + ecx + 0xa0]
mov edx, dword [esi + ecx + 4]
add esi, ecx
cmp eax, edi
mov dword [esp + 0x18], edx
jbe 0x65382e
mov ebx, esi
call fcn.00652e80
jmp 0x654060
cmp dword [esi + 0x80], edi
jne 0x65400d
cmp dword [esp + 0x30], edi
mov dword [esp + 0x1d0], edi
mov dword [esp + 0x1d4], edi
mov dword [esp + 0x3ec], edi
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x610], 0x15
mov dword [esp + 0x608], edi
mov dword [esp + 0x60c], edi
je 0x653948
cmp dword [esi + 0x98], edi
je 0x653948
cmp dword [esi + 0x7c], edi
jne 0x653948
cmp dword [esi + 0xd4], edi
jne 0x653948
cmp dword [esp + 0x1c], edi
mov eax, dword [0x97aec4]
jne 0x6538c3
push 0x49a
push str.._row_row0sel.c
push edi
push eax
call fcn.0064ba70
add esp, 0x10
mov dword [esp + 0x1c], 1
jmp 0x6538e8
cmp dword [eax + 0x44], edi
je 0x6538e8
push eax
call fcn.006484c0
mov ecx, dword [0x97aec4]
push 0x4a7
push str.._row_row0sel.c
push edi
push ecx
call fcn.0064ba70
add esp, 0x14
push ebp
lea eax, [esp + 0x1d0]
mov ecx, esi
call fcn.00653650
add esp, 4
cmp eax, edi
je 0x653f9d
cmp eax, 1
je 0x653b5f
xor eax, eax
lea edx, [esp + 0x1cc]
push edx
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], eax
mov dword [esi + 0x9c], eax
mov dword [esi + 0xa0], eax
call fcn.006a0660
lea eax, [esp + 0x1d0]
push eax
call fcn.006485d0
mov ebp, dword [esp + 0x638]
add esp, 8
xor edi, edi
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x653965
mov ecx, dword [0x97aec4]
push ecx
call fcn.006484c0
add esp, 4
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x7c], edi
jne 0x65398e
lea edx, [esp + 0x1cc]
push edx
push ebp
call fcn.00653460
mov eax, dword [esp + 0x1c]
add esp, 8
inc eax
mov dword [esp + 0x2c], 1
mov dword [esp + 0x14], eax
jmp 0x6539fa
mov edx, dword [ebp + 0x4c]
mov ebx, dword [esi + 0x50]
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esi + 8]
push ecx
push edx
call fcn.006a31a0
mov ecx, dword [esi + 0x78]
add esp, 0xc
cmp ecx, edi
je 0x6539c1
cmp ebx, 1
jne 0x6539e3
cmp eax, edi
je 0x6539dc
mov eax, dword [esi + 0x84]
jmp 0x6539e5
cmp ebx, 2
je 0x6539e3
cmp ebx, 4
je 0x6539e3
cmp ebx, 1
jne 0x6539dc
cmp eax, edi
je 0x6539e3
mov eax, dword [esi + 0x84]
jmp 0x6539e5
mov eax, 1
jmp 0x6539e5
xor eax, eax
cmp eax, edi
mov dword [esp + 0x2c], edi
jne 0x653e87
mov ebp, dword [esp + 0x630]
xor edi, edi
cmp dword [ebp + 0x40], edi
mov ebx, dword [esi + 0xc]
jne 0x653a87
cmp dword [esp + 0x2c], edi
je 0x653a87
mov eax, ebx
and eax, 0x3fff
cmp eax, 0x70
je 0x653a87
cmp eax, 0x74
je 0x653a87
cmp dword [esp + 0x30], edi
jne 0x653a87
push ebx
call fcn.0064bff0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push 0x501
push str.._row_row0sel.c
mov edi, eax
lea eax, [esp + 0x2c]
push eax
push 0xffffffffffffffff
push ecx
push edx
push edi
call fcn.006b25d0
mov ecx, dword [0x9779dc]
mov edx, dword [esp + 0x654]
neg ecx
push edx
mov edx, dword [esp + 0x3c]
sbb ecx, ecx
and ecx, 0x400
push ecx
mov ecx, dword [ebp + 0x50]
push ecx
push eax
push edx
push edi
mov dword [esp + 0x48], eax
call fcn.006533e0
mov edi, eax
add esp, 0x38
cmp edi, 0xa
jne 0x65415c
mov ebp, ebx
and ebp, 0x3fff
cmp ebp, 0x63
je 0x653a99
cmp ebp, 0x65
jne 0x653aa2
inc dword [esp + 0x14]
jmp 0x653e87
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x653b25
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x52b
push str.._row_row0sel.c
lea eax, [esp + 0x28]
push eax
push 0xffffffffffffffff
push ecx
push edx
push ebx
call fcn.006b25d0
mov ecx, dword [0x9779dc]
add esp, 0x1c
test ecx, ecx
mov dword [esp + 0x10], eax
je 0x653af5
cmp ebp, 0x70
je 0x653e87
cmp ebp, 0x74
je 0x653e87
mov ecx, 0x400
jmp 0x653af7
xor ecx, ecx
mov edx, dword [esp + 0x634]
push edx
push ecx
mov ecx, dword [esp + 0x638]
mov edx, dword [ecx + 0x50]
push edx
push eax
mov eax, dword [esp + 0x28]
push eax
push ebx
call fcn.006533e0
mov edi, eax
add esp, 0x18
cmp edi, 0xa
jne 0x65415c
cmp ebp, 0x70
je 0x653e87
cmp ebp, 0x74
je 0x653e87
cmp dword [esp + 0x14], 0x64
ja 0x65412c
mov eax, dword [esi + 0x98]
test eax, eax
je 0x653b9d
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x653b9d
mov ecx, dword [esi + 0x20]
cmp ecx, dword [esi + 0x94]
jae 0x653bbb
lea ecx, [esp + 0x1cc]
push ecx
mov dword [esi + 0x80], 1
call fcn.006a0660
mov ecx, dword [esi + 0xa0]
xor eax, eax
add esp, 4
cmp ecx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
jbe 0x654004
mov ebx, esi
call fcn.00652e80
jmp 0x654057
mov eax, dword [esi + 0xac]
test eax, eax
je 0x653bbb
mov edx, dword [esi]
push ebx
push edx
call fcn.006646b0
add esp, 8
test eax, eax
je 0x653e87
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
push 0x57a
push str.._row_row0sel.c
lea eax, [esp + 0x28]
push eax
push 0xffffffffffffffff
push ecx
push edi
push ebx
xor ebp, ebp
call fcn.006b25d0
mov ecx, dword [esp + 0x4c]
add esp, 0x1c
test ecx, ecx
mov dword [esp + 0x10], eax
je 0x653cbf
test byte [edi + 0xc], 1
mov edx, dword [esp + 0x630]
je 0x653ca8
mov ecx, dword [edx + 0x64]
push ecx
push eax
push edi
push ebx
call fcn.00681600
add esp, 0x10
test eax, eax
jne 0x653cbf
lea edx, [esp + 0x1cc]
push edx
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x638]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [eax + 0x64]
lea edx, [esp + 0x1c]
push edx
push ebx
push ecx
mov edi, esi
call fcn.00652f80
mov edi, eax
add esp, 0x18
cmp edi, 0xa
jne 0x65415c
mov eax, dword [esp + 0x34]
test eax, eax
mov edi, dword [esp + 0x18]
jne 0x653ca4
mov eax, dword [esp + 0x10]
push 0x591
push str.._row_row0sel.c
lea edx, [esp + 0x28]
push edx
push 0xffffffffffffffff
push eax
push edi
push ebx
call fcn.006b25d0
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0xb4]
push ecx
push eax
push ebx
mov eax, edi
call fcn.00652cf0
push esi
call fcn.00653020
add esp, 0x2c
test eax, eax
je 0x653b5f
jmp 0x653e87
mov ebx, eax
jmp 0x653cbf
mov eax, dword [edx + 0x64]
push eax
push edi
push ebx
call fcn.00681630
add esp, 0xc
test eax, eax
jne 0x653cbf
mov ebp, 1
mov ecx, dword [esi + 0xb4]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebx
mov eax, edi
call fcn.00652cf0
mov eax, dword [esi + 0x98]
add esp, 0xc
test eax, eax
je 0x653ce8
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x653cf9
push esi
call fcn.00653020
add esp, 4
test eax, eax
je 0x653b5f
mov eax, dword [esi]
mov ecx, dword [eax + 0x24]
xor eax, eax
test ecx, ecx
je 0x653d09
mov al, byte [ebx - 5]
jmp 0x653d0c
mov al, byte [ebx - 6]
and eax, 0x20
test eax, eax
je 0x653d2a
test ebp, ebp
jne 0x653d2a
mov eax, dword [esi + 0x98]
test eax, eax
jne 0x653b5f
jmp 0x653e87
mov eax, dword [esi + 0xd4]
test eax, eax
jne 0x653d3c
test ebp, ebp
je 0x653dd1
mov eax, dword [esp + 0x634]
lea ecx, [esp + 0x1cc]
push ecx
mov ecx, dword [esp + 0x634]
lea edx, [esp + 0x3c]
push edx
push eax
push ebx
push ecx
mov eax, esi
call fcn.006530c0
mov edi, eax
add esp, 0x14
cmp edi, 0xa
mov dword [esp + 0x28], 1
jne 0x65415c
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
inc edx
test eax, eax
mov dword [esp + 0x14], edx
je 0x653fc1
mov edx, dword [esi]
mov ecx, dword [edx + 0x24]
test ecx, ecx
je 0x653d9b
movzx eax, byte [eax - 5]
jmp 0x653d9f
movzx eax, byte [eax - 6]
and eax, 0x20
test eax, eax
jne 0x653fc1
mov edi, dword [esp + 0x630]
mov eax, dword [edi + 0x78]
test eax, eax
je 0x653dd8
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esi + 0xe0]
push ecx
call fcn.006a2e70
add esp, 8
jmp 0x653dd8
mov edi, dword [esp + 0x630]
push esi
call fcn.00653070
add esp, 4
test eax, eax
jne 0x653df8
mov eax, dword [esi + 0x98]
test eax, eax
jne 0x653b5f
jmp 0x653e87
mov edx, dword [esi + 0x9c]
inc edx
mov dword [esi + 0x9c], edx
mov ecx, dword [edi + 0x48]
test ecx, ecx
mov eax, edx
je 0x653e4a
mov eax, dword [esp + 0x634]
lea edx, [esp + 0x1cc]
push edx
push eax
push edi
call fcn.006aacf0
mov ecx, dword [esp + 0x20]
mov eax, dword [esi + 0x98]
add ecx, 0xd
add esp, 0xc
test eax, eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x14], ecx
jne 0x653b5f
jmp 0x653e87
cmp eax, 1
jbe 0x653f9d
mov eax, dword [esi + 0x98]
test eax, eax
jne 0x653f9d
mov eax, dword [esi + 0xa8]
test eax, eax
jne 0x653f9d
push esi
call fcn.00652ef0
mov eax, dword [esi + 0xa0]
add esp, 4
cmp eax, 0x10
je 0x653f96
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x653fc1
mov eax, dword [esp + 0x24]
test eax, eax
je 0x653eb5
mov eax, dword [esi + 0xc]
and eax, 0x3fff
cmp eax, 0x70
je 0x653fc1
cmp eax, 0x74
je 0x653fc1
mov ecx, dword [esp + 0x630]
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x653f6d
mov ecx, dword [esi + 0xc]
lea edi, [esi + 8]
mov eax, ecx
and eax, 0x3fff
cmp eax, 0x70
mov ebx, 0x7514483
mov dword [edi + 0x3c], ebx
je 0x653ee6
cmp eax, 0x74
jne 0x653f4e
push ecx
call fcn.0064bc90
movzx edx, byte [eax + 0xc]
movzx ecx, byte [eax + 0xd]
add eax, 0xc
shl edx, 8
add edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
add esp, 4
cmp edx, 0xffffffff
jne 0x653f30
mov eax, dword [edi + 4]
and eax, 0x3fff
cmp eax, 0x70
je 0x653b5f
cmp eax, 0x74
je 0x653b5f
lea ecx, [esp + 0x1cc]
push ecx
push edi
call fcn.006a3560
add esp, 8
mov dword [esp + 0x2c], 0
jmp 0x6539f1
mov edx, dword [edi + 4]
push edx
call fcn.0064bff0
mov dword [edi + 4], eax
add esp, 4
mov dword [edi + 0x3c], ebx
mov dword [esp + 0x2c], 0
jmp 0x6539f1
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esi + 8]
push ecx
call fcn.006a38d0
add esp, 8
test eax, eax
je 0x653b5f
mov dword [esp + 0x2c], 0
jmp 0x6539f1
mov ebx, esi
call fcn.00652e80
mov eax, dword [esi + 0x98]
xor edi, edi
cmp eax, edi
je 0x654021
mov edx, dword [esp + 0x630]
cmp dword [edx + 0x78], edi
jne 0x654021
mov dword [esi + 0x80], 1
jmp 0x65403f
lea edx, [esp + 0x1cc]
mov dword [esi + 0x84], 1
push edx
add esi, 8
push esi
call fcn.006a2e70
lea eax, [esp + 0x1d4]
push eax
call fcn.006a0660
mov ebp, dword [esp + 0x63c]
xor eax, eax
add esp, 0xc
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
xor edi, edi
jmp 0x653801
mov ebp, dword [esp + 0x630]
xor edi, edi
mov eax, dword [ebp + 0x58]
cmp eax, edi
je 0x65418c
dec eax
mov dword [ebp + 0x58], eax
jmp 0x653801
lea eax, [esp + 0x1cc]
mov dword [esi + 0x84], 1
push eax
add esi, 8
push esi
call fcn.006a2e70
add esp, 8
lea ecx, [esp + 0x1cc]
push ecx
call fcn.006a0660
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov ebp, dword [esp + 0x630]
xor edi, edi
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x54]
inc eax
cmp eax, ecx
jne 0x654104
push ebp
call fcn.00652b90
mov eax, dword [ebp + 0x70]
add esp, 4
cmp eax, edi
jne 0x653801
mov ecx, dword [ebp + 0x38]
push ebp
push ecx
call fcn.00652bd0
mov eax, dword [esp + 0x63c]
mov edx, dword [ebp + 4]
mov dword [eax + 0x5c], edx
mov eax, dword [esp + 0x24]
add esp, 8
cmp eax, edi
je 0x6540b4
mov ecx, dword [0x97aec4]
push ecx
call fcn.006484c0
add esp, 4
mov edi, 0xa
mov ebp, dword [esp + 0x20]
test ebp, ebp
je 0x6540eb
mov eax, dword [ebp + 0x38]
test eax, eax
mov esi, dword [ebp + 0x18]
je 0x6540d4
push ebp
call fcn.006520d0
add esp, 4
test esi, esi
je 0x6540eb
mov ebx, dword [esi + 0x1c]
push esi
push ebp
call fcn.00651fd0
add esp, 8
test ebx, ebx
mov esi, ebx
jne 0x6540d8
mov ecx, dword [esp + 0x628]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
call fcn.006cedd0
add esp, 0x61c
ret
mov ecx, dword [ebp + 0x5c]
mov dword [ebp + 0x58], eax
imul eax, eax, 0x154
add eax, ecx
mov dword [eax + 0x7c], edi
mov dword [eax + 0x80], edi
mov dword [eax + 0x9c], edi
mov dword [eax + 0xa0], edi
jmp 0x653801
lea edx, [esp + 0x1cc]
mov dword [esi + 0x84], 0
push edx
add esi, 8
push esi
call fcn.006a2e70
lea eax, [esp + 0x1d4]
push eax
call fcn.006a0660
add esp, 0xc
jmp 0x6540b4
lea ecx, [esp + 0x1cc]
mov dword [esi + 0x84], 0
push ecx
add esi, 8
push esi
call fcn.006a2e70
lea edx, [esp + 0x1d4]
push edx
call fcn.006a0660
add esp, 0xc
jmp 0x6540b9
mov eax, dword [ebp + 0x70]
test eax, eax
mov edi, 0xa
je 0x6541df
mov eax, dword [ebp + 0x74]
test eax, eax
jne 0x6541df
mov eax, dword [ebp + 0x38]
push ebp
push eax
mov dword [ebp + 0x74], 1
call fcn.00652bd0
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x63c]
add esp, 8
test eax, eax
mov dword [edx + 0x5c], ecx
je 0x6540b9
mov eax, dword [0x97aec4]
push eax
call fcn.006484c0
add esp, 4
jmp 0x6540b9
mov eax, dword [esp + 0x1c]
test eax, eax
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x634]
mov dword [ebp + 0x30], 3
mov dword [edx + 0x5c], ecx
je 0x6540b9
mov eax, dword [0x97aec4]
push eax
call fcn.006484c0
add esp, 4
jmp 0x6540b9