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

Disassembly:
sub esp, 0x88
push ebx
mov ebx, dword [esp + 0x90]
xor eax, eax
push ebp
xor ebp, ebp
mov dword [esp + 0x14], 0
push edi
mov edi, dword [ebx]
mov dword [esp + 0x50], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x2c], edi
cmp dword [ebx + 0x24], eax
jne 0x456d66
cmp byte [edi + 0x53], al
jne 0x456d66
push esi
push dword [esp + 0xa0]
push ebx
call fcn.00474cf0
mov esi, eax
add esp, 8
mov dword [esp + 0x60], esi
test esi, esi
je 0x456d65
push ebp
push ebp
push 0x7f
push esi
push ebx
call fcn.00476a20
mov ecx, eax
add esp, 0x14
mov eax, dword [esi + 0xc]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x4c], eax
test ecx, ecx
jne 0x4565aa
push ecx
push ecx
push esi
push ebx
call fcn.0045f540
add esp, 0x10
mov dword [esp + 0x14], ebp
test eax, eax
je 0x4565b2
mov dword [esp + 0x14], 1
push esi
push ebx
call fcn.00487590
add esp, 8
test eax, eax
jne 0x456d65
cmp dword [esp + 0x64], eax
setne al
push eax
push esi
push ebx
call fcn.00465490
add esp, 0xc
test eax, eax
jne 0x456d65
mov ecx, dword [esi + 0x48]
mov ebp, 0xffff8000
test ecx, ecx
je 0x4565fe
mov eax, dword [edi + 0x10]
xor ebp, ebp
add eax, 0xc
cmp dword [eax], ecx
je 0x4565fe
lea eax, [eax + 0x10]
inc ebp
cmp dword [eax], ecx
jne 0x4565f6
mov eax, dword [edi + 0x10]
mov ecx, ebp
add ecx, ecx
push dword [eax + ecx*8]
push 0
push dword [esi]
push 9
push ebx
call fcn.0044ccf0
add esp, 0x14
mov dword [esp + 0x48], eax
cmp eax, 1
je 0x456d63
mov ecx, dword [esp + 0xa0]
xor edx, edx
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], edx
mov dword [ecx + 0x34], eax
inc dword [ebx + 0x28]
mov eax, dword [esi + 8]
mov ecx, dword [ebx + 0x28]
test eax, eax
je 0x456658
inc ecx
inc edx
mov dword [ebx + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x456648
mov dword [esp + 0x38], edx
cmp dword [esp + 0x4c], 0
je 0x456675
mov eax, dword [ebx + 0xf0]
mov dword [esp + 0x6c], eax
mov eax, dword [esi]
mov dword [esp + 0x68], ebx
mov dword [ebx + 0xf0], eax
push ebx
call fcn.00462d00
mov edi, eax
add esp, 4
test edi, edi
je 0x456d47
cmp byte [ebx + 0x12], 0
jne 0x456695
or dword [edi + 0x98], 0x10
push ebp
push dword [esp + 0x18]
push ebx
call fcn.0044d830
add esp, 0xc
cmp dword [esp + 0x4c], 0
je 0x4566d9
push dword [esp + 0x18]
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push esi
push ebx
call fcn.00467160
mov eax, dword [esp + 0x30]
add esp, 0x18
mov dword [esp + 0x54], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa0]
push dword [esp + 0xa4]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x7c]
push eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x80], ebx
call fcn.0046f6a0
add esp, 8
test eax, eax
jne 0x456d47
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x456787
cmp byte [ebx + 0x12], 0
jne 0x456787
cmp dword [ebx + 0x78], 0
jne 0x456787
cmp byte [ebx + 0x91], 0
jne 0x456787
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
push eax
push 0
push 0x45
push edi
mov dword [esp + 0x54], eax
call fcn.0047a1c0
add esp, 0x10
cmp dword [esp + 0x48], 0
jne 0x456856
cmp dword [esp + 0xa4], 0
jne 0x456856
cmp dword [esp + 0x14], 0
jne 0x456856
cmp dword [esi + 0x38], 0
jne 0x456856
push dword [esi]
push 1
push dword [esi + 0x1c]
push ebp
push ebx
call fcn.00475960
add esp, 0x14
test byte [esi + 0x24], 0x80
jne 0x4567ef
mov ecx, dword [esp + 0x44]
or eax, 0xffffffff
push 0xffffffffffffffff
push dword [esi]
test ecx, ecx
cmovne eax, ecx
push eax
push ebp
push dword [esi + 0x1c]
push 0x8c
push edi
call fcn.0047a280
add esp, 0x1c
mov esi, dword [esi + 8]
test esi, esi
je 0x456cfd
lea ebx, [ebx]
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x45681f
push 0
push ebp
push edx
push 0x8c
push edi
call fcn.00437ce0
add esp, 0x14
jmp 0x45684a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x8c
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x456800
jmp 0x456cfd
test byte [esp + 0x90], 0x40
mov eax, 1
mov ebp, dword [esp + 0x14]
cmovne ebp, eax
xor eax, eax
test ebp, ebp
sete al
test byte [esi + 0x24], 0x80
lea eax, [eax*8 + 0x14]
movzx ebp, ax
jne 0x4568ab
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
push eax
push 0
push 0x48
push edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x4c], 1
mov dword [esp + 0x60], eax
call fcn.0047a1c0
add esp, 0x10
jmp 0x4568f7
push esi
call fcn.0046e660
mov dword [esp + 0x18], eax
movzx ecx, word [eax + 0x32]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x40], ecx
movsx ecx, cx
push ecx
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x34], edx
mov edx, dword [ebx + 0x28]
push edx
mov dword [ebx + 0x2c], eax
push 0x65
lea eax, [edx + 1]
mov dword [esp + 0x30], edx
push edi
mov dword [ebx + 0x28], eax
call fcn.0047a1c0
push dword [esp + 0x28]
mov dword [esp + 0x4c], eax
push ebx
call fcn.00486b60
add esp, 0x1c
mov eax, dword [esp + 0x18]
inc eax
push eax
push ebp
push 0
push 0
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push ebx
call fcn.00489900
mov edx, eax
add esp, 0x1c
mov dword [esp + 0x5c], edx
test edx, edx
je 0x456d47
mov eax, dword [edx + 0x14]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x48], eax
mov al, byte [edx + 0x2e]
mov byte [esp + 0x13], al
mov byte [esp + 0x74], al
cmp al, 1
je 0x456952
mov eax, dword [ebx + 0x74]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
test byte [edx + 0x30], 1
je 0x45696a
push dword [esp + 0x18]
push 0x8a
push edi
call fcn.0047a160
add esp, 0xc
mov eax, dword [esp + 0x44]
test eax, eax
je 0x456980
push 1
push eax
push 0x53
push edi
call fcn.0047a1c0
add esp, 0x10
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4569d3
mov ecx, dword [esp + 0x3c]
xor ebp, ebp
movsx eax, cx
mov dword [esp + 0x28], eax
xor eax, eax
cmp ax, cx
jge 0x4569cd
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add eax, ebp
push eax
mov eax, dword [edx + 4]
movsx eax, word [eax + ebp*2]
push eax
push dword [esp + 0x20]
push esi
push edi
call fcn.00459050
mov edx, dword [esp + 0x28]
inc ebp
add esp, 0x14
cmp ebp, ebx
jl 0x4569a0
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x2c]
jmp 0x4569ec
inc dword [ebx + 0x2c]
mov ebp, dword [ebx + 0x2c]
push ebp
push dword [esp + 0x1c]
push 0x82
push edi
call fcn.0047a1c0
add esp, 0x10
cmp byte [esp + 0x13], 0
je 0x456a92
mov eax, dword [esp + 0x3c]
movzx eax, ax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
add eax, 2
cdq
push edx
push eax
push dword [esp + 0x38]
call fcn.00455fb0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x456a33
push dword [esp + 0x5c]
call fcn.0048c710
add esp, 4
jmp 0x456d47
mov eax, dword [esp + 0x38]
inc eax
push eax
push 1
push ecx
call fcn.004ac5e0
mov eax, dword [esp + 0x44]
add esp, 0xc
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov byte [eax + edx + 1], 0
mov eax, dword [esp + 0x70]
test eax, eax
js 0x456a63
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x48]
test eax, eax
js 0x456a71
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x456a83
push eax
push edi
call fcn.0047a740
add esp, 8
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x58], eax
jmp 0x456b12
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x456aeb
mov eax, dword [esp + 0x3c]
inc dword [ebx + 0x2c]
mov ebp, dword [ebx + 0x2c]
movsx esi, ax
push esi
push ecx
push dword [ebx]
mov dword [esp + 0x34], 0
call fcn.00463670
add esp, 8
push eax
push ebp
push esi
push dword [esp + 0x3c]
push 0x5c
push edi
call fcn.0047a280
push esi
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x48]
push 0x85
push edi
call fcn.0047a300
mov esi, dword [esp + 0x94]
add esp, 0x34
jmp 0x456b06
push ebp
push dword [esp + 0x54]
mov dword [esp + 0x30], 1
push 0x96
push edi
call fcn.0047a1c0
add esp, 0x10
push dword [esp + 0x5c]
call fcn.0048c710
add esp, 4
cmp dword [esp + 0x4c], 0
jne 0x456b6e
cmp byte [esp + 0x13], 2
mov dword [esp + 0x34], 0
jne 0x456b37
push 0x11
push edi
call fcn.0047a110
add esp, 8
mov dword [esp + 0x34], eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x24]
push 8
push 0x62
push esi
push ebx
call fcn.004678b0
mov al, byte [esp + 0x33]
add esp, 0x20
cmp al, 2
jne 0x456b72
push dword [esp + 0x34]
push edi
call fcn.004841b0
add esp, 8
jmp 0x456b76
mov al, byte [esp + 0x13]
test al, al
je 0x456bab
cmp dword [esi + 0x38], 0
mov ecx, dword [esp + 0x1c]
jne 0x456c10
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x18]
cmp byte [eax + ecx], 0
je 0x456c0a
mov eax, dword [esp + 0x28]
cwde
push eax
push ebp
push dword [esp + 0x60]
push ecx
push 0x1d
push edi
call fcn.0047a300
add esp, 0x18
jmp 0x456c06
cmp dword [esp + 0x14], 0
je 0x456bf0
push dword [esp + 0x20]
push 0x25
push edi
call fcn.0047a160
add esp, 0xc
mov dword [esp + 0x40], eax
cmp dword [esi + 0x38], 0
push ebp
je 0x456bdc
push 0
push dword [esp + 0x28]
push 0x5a
push edi
call fcn.0047a220
jmp 0x456c03
push dword [esp + 0x24]
push 0x81
push edi
call fcn.0047a1c0
add esp, 0x10
jmp 0x456c06
push ebp
push 0
push dword [esp + 0x58]
push 0x2a
push edi
call fcn.0047a220
mov dword [esp + 0x54], eax
add esp, 0x14
mov ecx, dword [esp + 0x1c]
cmp dword [esi + 0x38], 0
je 0x456c76
push esi
push dword [esp + 0x34]
call fcn.00462ab0
push esi
push ebx
mov dword [esp + 0x70], eax
call fcn.00488180
mov ecx, dword [ebx + 0x74]
add esp, 0x10
test ecx, ecx
mov edx, ebx
cmovne edx, ecx
cmp byte [esp + 0x13], 1
mov byte [edx + 0x15], 1
jne 0x456c56
push dword [esp + 0x18]
push 0x75
push edi
call fcn.0047a160
add esp, 0xc
cmp dword [ebx + 0x74], 0
jne 0x456c56
mov byte [ebx + 0x14], 0
push 0xfffffffffffffff4
push dword [esp + 0x64]
push ebp
push 1
push 0
push 0xa
push edi
call fcn.0047a280
push 2
push edi
call fcn.0047a720
add esp, 0x24
jmp 0x456ca6
push dword [esp + 0x48]
cmp byte [ebx + 0x12], 0
push dword [esp + 0x78]
sete al
push 0xb
movzx eax, al
push eax
push dword [esp + 0x38]
push ebp
push dword [esp + 0x6c]
push ecx
push dword [esp + 0x84]
push esi
push ebx
call fcn.00461a00
add esp, 0x2c
cmp byte [esp + 0x13], 0
je 0x456cc5
push dword [esp + 0x58]
push edi
call fcn.004867c0
push dword [esp + 0x64]
call fcn.0048c710
add esp, 0xc
jmp 0x456cfd
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x40]
je 0x456cec
lea eax, [esi + 1]
push eax
push dword [esp + 0x24]
push 5
push edi
call fcn.0047a1c0
push esi
push edi
call fcn.00484180
add esp, 0x18
jmp 0x456cfd
push esi
push edi
call fcn.00483d50
push esi
push edi
call fcn.00484180
add esp, 0x10
cmp byte [ebx + 0x12], 0
jne 0x456d18
cmp dword [ebx + 0x78], 0
jne 0x456d18
cmp dword [ebx + 0x70], 0
je 0x456d18
push ebx
call fcn.004234d0
add esp, 4
mov eax, dword [esp + 0x44]
test eax, eax
je 0x456d47
push 1
push eax
push 0x50
push edi
call fcn.0047a1c0
push 1
push edi
call fcn.00486af0
push 0
push str.rows_deleted
push 0
push 0
push edi
call fcn.00486aa0
add esp, 0x2c
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x456d65
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0xf0], ecx
jmp 0x456d65
xor ebp, ebp
pop esi
push dword [esp + 0x9c]
push edi
call fcn.004746d0
mov eax, dword [esp + 0xa8]
add esp, 8
test eax, eax
je 0x456d8b
push eax
push edi
call fcn.0045b700
add esp, 8
test ebp, ebp
je 0x456d99
push ebp
push edi
call fcn.00455ea0
add esp, 8
pop edi
pop ebp
pop ebx
add esp, 0x88
ret