Function at 0x4d61a0
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
xorps xmm0, xmm0
mov edi, dword [ebx]
mov dword [esp + 0x54], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3c], 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x34], eax
movlpd qword [esp + 0x60], xmm0
mov dword [esp + 0x30], edi
cmp dword [ebx + 0x24], eax
jne 0x4d6aa3
push esi
push dword [esp + 0xa0]
push ebx
call fcn.004f85c0
mov esi, eax
add esp, 8
mov dword [esp + 0x44], esi
test esi, esi
je 0x4d6aa2
cmp dword [esi + 0x38], ebp
jne 0x4d623d
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x4d6246
cmp dword [eax + 0x30], ebp
je 0x4d6246
cmp byte [ebx + 0x9d], 0
je 0x4d6259
mov al, byte [esi + 0x2b]
xor ebp, ebp
mov dword [esp + 0x50], ebp
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
jmp 0x4d6281
push 0
push 0
push 0x80
push esi
push ebx
call fcn.00516b50
mov ebp, eax
add esp, 0x14
mov al, byte [esi + 0x2b]
mov dword [esp + 0x50], ebp
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
test ebp, ebp
jne 0x4d629b
push 0
push 0
push esi
push ebx
call fcn.004dfec0
add esp, 0x10
mov dword [esp + 0x14], 0
test eax, eax
je 0x4d62a3
mov dword [esp + 0x14], 1
cmp byte [esi + 0x2b], 1
je 0x4d62b0
cmp word [esi + 0x22], 0
jg 0x4d62c2
push esi
push ebx
call fcn.0051c910
add esp, 8
test eax, eax
jne 0x4d6aa0
push ebp
push esi
push ebx
call fcn.004e70f0
add esp, 0xc
test eax, eax
jne 0x4d6aa0
mov ecx, dword [esi + 0x3c]
mov ebp, 0xffff8000
test ecx, ecx
je 0x4d62f8
mov eax, dword [edi + 0x10]
xor ebp, ebp
add eax, 0xc
cmp dword [eax], ecx
je 0x4d62f8
nop dword [eax]
lea eax, [eax + 0x10]
inc ebp
cmp dword [eax], ecx
jne 0x4d62f0
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.004cc580
add esp, 0x14
mov dword [esp + 0x4c], eax
cmp eax, 1
je 0x4d6aa0
mov ecx, dword [esp + 0xa0]
xor edx, edx
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], edx
mov dword [ecx + 0x34], eax
mov ecx, dword [ebx + 0x28]
inc ecx
mov dword [ebx + 0x28], ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x4d6353
inc ecx
inc edx
mov dword [ebx + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4d6343
mov dword [esp + 0x3c], edx
cmp byte [esp + 0x12], 2
jne 0x4d6372
mov ecx, dword [ebx + 0x100]
mov eax, dword [esi]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ecx
mov dword [ebx + 0x100], eax
jmp 0x4d6382
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x70], eax
mov edi, dword [ebx + 8]
test edi, edi
jne 0x4d63ad
cmp dword [ebx + 0x7c], edi
jne 0x4d639a
mov eax, dword [ebx]
test byte [eax + 0x50], 8
jne 0x4d639a
mov byte [ebx + 0x17], 1
push ebx
call fcn.004fe590
mov edi, eax
add esp, 4
test edi, edi
je 0x4d6a84
cmp byte [ebx + 0x12], 0
jne 0x4d63ba
or dword [edi + 0x98], 0x10
push ebp
push dword [esp + 0x18]
push ebx
call fcn.004cd030
add esp, 0xc
cmp byte [esp + 0x13], 2
jne 0x4d63fe
push dword [esp + 0x18]
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push esi
push ebx
call fcn.004e8ab0
mov eax, dword [esp + 0x30]
add esp, 0x18
mov dword [esp + 0x58], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa0]
xorps xmm0, xmm0
push dword [esp + 0xa4]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x7c]
push eax
movlpd qword [esp + 0x88], xmm0
movlpd qword [esp + 0x90], xmm0
movlpd qword [esp + 0x98], xmm0
mov dword [esp + 0x80], ebx
call fcn.004f2c70
add esp, 8
test eax, eax
jne 0x4d6a84
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x4d648b
cmp byte [ebx + 0x12], 0
jne 0x4d648b
cmp dword [ebx + 0x80], 0
jne 0x4d648b
cmp byte [ebx + 0x9b], 0
jne 0x4d648b
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
push eax
push 0
push 0x47
push edi
mov dword [esp + 0x40], eax
call fcn.004fdf80
add esp, 0x10
cmp dword [esp + 0x4c], 0
jne 0x4d65be
cmp dword [esp + 0xa4], 0
jne 0x4d65be
cmp dword [esp + 0x14], 0
jne 0x4d65be
cmp byte [esi + 0x2b], 1
je 0x4d65be
push dword [esi]
push 1
push dword [esi + 0x14]
push ebp
push ebx
call fcn.004f99e0
add esp, 0x14
test byte [esi + 0x1c], 0x80
jne 0x4d64f3
mov ecx, dword [esp + 0x30]
or eax, 0xffffffff
push 0xffffffffffffffff
push dword [esi]
test ecx, ecx
cmovne eax, ecx
push eax
push ebp
push dword [esi + 0x14]
push 0x91
push edi
call fcn.004fe040
add esp, 0x1c
mov esi, dword [esi + 8]
test esi, esi
je 0x4d6a4f
mov ebx, dword [esp + 0x44]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
jne 0x4d6559
test byte [ebx + 0x1c], 0x80
je 0x4d6559
mov eax, dword [esp + 0x30]
or edx, 0xffffffff
mov ecx, dword [edi + 0x6c]
test eax, eax
cmovne edx, eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x50], eax
cmp dword [edi + 0x70], ecx
jg 0x4d653f
push edx
push ebp
push eax
push 0x91
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x4d65a7
mov ebx, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0xc], edx
jmp 0x4d6590
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x4d6578
push 0
push ebp
push edx
push 0x91
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x4d65a7
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 0xc], 0
mov ebx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4], 0x91
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4d6502
mov ebx, dword [esp + 0x9c]
jmp 0x4d6a4f
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 + 0x1c], 0x80
lea eax, [eax*8 + 0x14]
movzx ebp, ax
jne 0x4d660c
mov eax, dword [ebx + 0x2c]
inc eax
mov dword [esp + 0x14], 0
push eax
push 0
push 0x4b
push edi
mov dword [esp + 0x64], eax
mov dword [ebx + 0x2c], eax
call fcn.004fdf80
add esp, 0x10
jmp 0x4d6658
push esi
call fcn.004f12c0
mov dword [esp + 0x18], eax
movzx edx, word [eax + 0x32]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x44], edx
lea ecx, [eax + 1]
mov dword [esp + 0x30], ecx
movsx ecx, dx
mov edx, dword [ebx + 0x28]
add eax, ecx
push ecx
push edx
mov dword [ebx + 0x2c], eax
lea eax, [edx + 1]
mov dword [esp + 0x2c], edx
push 0x76
push edi
mov dword [ebx + 0x28], eax
call fcn.004fdf80
push dword [esp + 0x28]
mov dword [esp + 0x50], eax
push ebx
call fcn.0050ad90
add esp, 0x1c
mov eax, dword [esp + 0x18]
inc eax
push eax
push ebp
push 0
push 0
push 0
push dword [esp + 0xb8]
push dword [esp + 0xb8]
push ebx
call fcn.0050cd50
mov edx, eax
add esp, 0x20
mov dword [esp + 0x60], edx
test edx, edx
je 0x4d6a84
mov eax, dword [edx + 0x14]
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x4c], eax
mov al, byte [edx + 0x2e]
mov byte [esp + 0x12], al
mov byte [esp + 0x74], al
cmp al, 1
je 0x4d66b5
mov eax, dword [ebx + 0x7c]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
test byte [edx + 0x30], 1
je 0x4d66cd
push dword [esp + 0x18]
push 0x8f
push edi
call fcn.004fdf20
add esp, 0xc
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4d66e3
push 1
push eax
push 0x56
push edi
call fcn.004fdf80
add esp, 0x10
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4d672b
mov eax, dword [esp + 0x40]
xor ebp, ebp
cwde
test eax, eax
jle 0x4d6725
mov ebx, eax
mov eax, dword [esp + 0x2c]
add eax, ebp
push eax
mov eax, dword [ecx + 4]
movsx eax, word [eax + ebp*2]
push eax
push dword [esp + 0x20]
push esi
push edi
call fcn.004d8dd0
mov ecx, dword [esp + 0x28]
inc ebp
add esp, 0x14
cmp ebp, ebx
jl 0x4d66f8
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x2c]
jmp 0x4d6743
mov ebp, dword [ebx + 0x2c]
inc ebp
push ebp
push 0xffffffffffffffff
push dword [esp + 0x20]
mov dword [ebx + 0x2c], ebp
push esi
push edi
call fcn.004d8dd0
add esp, 0x14
cmp byte [esp + 0x12], 0
je 0x4d67e9
mov eax, dword [esp + 0x40]
movzx eax, ax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
add eax, 2
cdq
push edx
push eax
push dword [esp + 0x3c]
call fcn.004d5b60
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4d678a
push dword [esp + 0x60]
call fcn.00510260
add esp, 4
jmp 0x4d6a84
mov eax, dword [esp + 0x3c]
inc eax
push eax
push 1
push ecx
call fcn.005326d0
mov eax, dword [esp + 0x48]
add esp, 0xc
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov byte [eax + edx + 1], 0
mov eax, dword [esp + 0x64]
test eax, eax
js 0x4d67ba
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x4c]
test eax, eax
js 0x4d67c8
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4d67da
push eax
push edi
call fcn.004fe4c0
add esp, 8
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x5c], eax
jmp 0x4d6867
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4d6840
mov eax, dword [esp + 0x40]
mov ebp, dword [ebx + 0x2c]
movsx esi, ax
inc ebp
push esi
push ecx
push dword [ebx]
mov dword [ebx + 0x2c], ebp
mov dword [esp + 0x34], 0
call fcn.004e51c0
add esp, 8
push eax
push ebp
push esi
push dword [esp + 0x3c]
push 0x61
push edi
call fcn.004fe040
push esi
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x48]
push 0x8a
push edi
call fcn.004fe0c0
mov esi, dword [esp + 0x78]
add esp, 0x34
jmp 0x4d685b
push ebp
push dword [esp + 0x58]
mov dword [esp + 0x30], 1
push 0x9c
push edi
call fcn.004fdf80
add esp, 0x10
push dword [esp + 0x60]
call fcn.00510260
add esp, 4
cmp byte [esp + 0x13], 2
je 0x4d68c3
cmp byte [esp + 0x12], 2
mov dword [esp + 0x38], 0
jne 0x4d688c
push 0xf
push edi
call fcn.004fded0
add esp, 8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x24]
push 8
push 0x71
push esi
push ebx
call fcn.004e9340
mov al, byte [esp + 0x32]
add esp, 0x20
cmp al, 2
jne 0x4d68c7
push dword [esp + 0x38]
push edi
call fcn.005083c0
add esp, 8
jmp 0x4d68cb
mov al, byte [esp + 0x12]
test al, al
je 0x4d6900
cmp byte [esi + 0x2b], 1
mov ecx, dword [esp + 0x1c]
je 0x4d6965
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x18]
cmp byte [eax + ecx], 0
je 0x4d695f
mov eax, dword [esp + 0x28]
cwde
push eax
push ebp
push dword [esp + 0x64]
push ecx
push 0x1c
push edi
call fcn.004fe0c0
add esp, 0x18
jmp 0x4d695b
cmp dword [esp + 0x14], 0
je 0x4d6945
push dword [esp + 0x20]
push 0x24
push edi
call fcn.004fdf20
add esp, 0xc
mov dword [esp + 0x48], eax
cmp byte [esi + 0x2b], 1
push ebp
jne 0x4d6931
push 0
push dword [esp + 0x28]
push 0x5e
push edi
call fcn.004fdfe0
jmp 0x4d6958
push dword [esp + 0x24]
push 0x86
push edi
call fcn.004fdf80
add esp, 0x10
jmp 0x4d695b
push ebp
push 0
push dword [esp + 0x5c]
push 0x2e
push edi
call fcn.004fdfe0
mov dword [esp + 0x5c], eax
add esp, 0x14
mov ecx, dword [esp + 0x1c]
cmp byte [esi + 0x2b], 1
jne 0x4d69cb
push esi
push dword [esp + 0x38]
call fcn.004e4590
push esi
push ebx
mov dword [esp + 0x74], eax
call fcn.0050c0d0
mov ecx, dword [ebx + 0x7c]
add esp, 0x10
test ecx, ecx
mov edx, ebx
cmovne edx, ecx
cmp byte [esp + 0x12], 1
mov byte [edx + 0x15], 1
jne 0x4d69ab
push dword [esp + 0x18]
push 0x7a
push edi
call fcn.004fdf20
add esp, 0xc
cmp dword [ebx + 0x7c], 0
jne 0x4d69ab
mov byte [ebx + 0x14], 0
push 0xfffffffffffffff5
push dword [esp + 0x68]
push ebp
push 1
push 0
push 7
push edi
call fcn.004fe040
push 2
push edi
call fcn.004fe4a0
add esp, 0x24
jmp 0x4d69f8
push dword [esp + 0x4c]
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 + 0x70]
push ecx
push dword [esp + 0x70]
push esi
push ebx
call fcn.004e3460
add esp, 0x2c
cmp byte [esp + 0x12], 0
je 0x4d6a17
push dword [esp + 0x5c]
push edi
call fcn.0050a9a0
push dword [esp + 0x68]
call fcn.00510260
add esp, 0xc
jmp 0x4d6a4f
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x48]
je 0x4d6a3e
lea eax, [esi + 1]
push eax
push dword [esp + 0x24]
push 0x27
push edi
call fcn.004fdf80
push esi
push edi
call fcn.00508390
add esp, 0x18
jmp 0x4d6a4f
push esi
push edi
call fcn.00507dd0
push esi
push edi
call fcn.00508390
add esp, 0x10
cmp byte [ebx + 0x12], 0
jne 0x4d6a6d
cmp dword [ebx + 0x80], 0
jne 0x4d6a6d
cmp dword [ebx + 0x78], 0
je 0x4d6a6d
push ebx
call fcn.0049a0e0
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4d6a84
push str.rows_deleted
push eax
push edi
call fcn.004d1b30
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x4d6aa2
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x100], ecx
jmp 0x4d6aa2
xor ebp, ebp
pop esi
push dword [esp + 0x9c]
push edi
call fcn.004f7ff0
mov eax, dword [esp + 0xa8]
add esp, 8
test eax, eax
je 0x4d6ac8
push eax
push edi
call fcn.004db740
add esp, 8
test ebp, ebp
je 0x4d6ad6
push ebp
push edi
call fcn.004d5c80
add esp, 8
pop edi
pop ebp
pop ebx
add esp, 0x88
ret