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

Disassembly:
sub esp, 0x8c
push ebx
mov ebx, dword [esp + 0x94]
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 + 0x6c], xmm0
mov dword [esp + 0x30], edi
cmp dword [ebx + 0x24], eax
jne 0x49eaf6
push esi
push dword [esp + 0xa4]
push ebx
call fcn.004c1480
mov esi, eax
add esp, 8
mov dword [esp + 0x44], esi
test esi, esi
je 0x49eaf5
cmp dword [esi + 0x38], ebp
jne 0x49e26d
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x49e276
cmp dword [eax + 0x30], ebp
je 0x49e276
cmp byte [ebx + 0xa1], 0
je 0x49e289
mov al, byte [esi + 0x2b]
xor ebp, ebp
mov dword [esp + 0x50], ebp
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
jmp 0x49e2b1
push 0
push 0
push 0x80
push esi
push ebx
call fcn.004e0160
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 0x49e2cb
push 0
push 0
push esi
push ebx
call fcn.004a8a40
add esp, 0x10
mov dword [esp + 0x14], 0
test eax, eax
je 0x49e2d3
mov dword [esp + 0x14], 1
cmp byte [esi + 0x2b], 1
je 0x49e2e0
cmp word [esi + 0x22], 0
jg 0x49e2f2
push esi
push ebx
call fcn.004e6b90
add esp, 8
test eax, eax
jne 0x49eaf3
push ebp
push esi
push ebx
call fcn.004afcc0
add esp, 0xc
test eax, eax
jne 0x49eaf3
mov ecx, dword [esi + 0x3c]
mov ebp, 0xffff8000
test ecx, ecx
je 0x49e328
mov eax, dword [edi + 0x10]
xor ebp, ebp
add eax, 0xc
cmp dword [eax], ecx
je 0x49e328
nop dword [eax]
lea eax, [eax + 0x10]
inc ebp
cmp dword [eax], ecx
jne 0x49e320
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.00493a60
add esp, 0x14
mov dword [esp + 0x4c], eax
cmp eax, 1
je 0x49eaf3
mov ecx, dword [esp + 0xa4]
xor edx, edx
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], edx
mov dword [ecx + 0x34], eax
inc dword [ebx + 0x28]
mov eax, dword [esi + 8]
mov ecx, dword [ebx + 0x28]
test eax, eax
je 0x49e382
inc ecx
inc edx
mov dword [ebx + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x49e372
mov dword [esp + 0x3c], edx
cmp byte [esp + 0x12], 2
jne 0x49e3a1
mov ecx, dword [ebx + 0x104]
mov eax, dword [esi]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ecx
mov dword [ebx + 0x104], eax
jmp 0x49e3b1
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x6c], eax
mov edi, dword [ebx + 8]
test edi, edi
jne 0x49e3df
cmp dword [ebx + 0x80], edi
jne 0x49e3cc
mov eax, dword [ebx]
test byte [eax + 0x50], 8
jne 0x49e3cc
mov byte [ebx + 0x17], 1
push ebx
call fcn.004c7580
mov edi, eax
add esp, 4
test edi, edi
je 0x49ead7
cmp byte [ebx + 0x12], 0
jne 0x49e3ec
or dword [edi + 0x98], 0x10
push ebp
push dword [esp + 0x18]
push ebx
call fcn.00494600
add esp, 0xc
cmp byte [esp + 0x13], 2
jne 0x49e430
push dword [esp + 0x18]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push esi
push ebx
call fcn.004b1bc0
mov eax, dword [esp + 0x30]
add esp, 0x18
mov dword [esp + 0x58], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa4]
xorps xmm0, xmm0
push dword [esp + 0xa8]
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 + 0xa0], 0
mov dword [esp + 0x80], ebx
call fcn.004bb8f0
add esp, 8
test eax, eax
jne 0x49ead7
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x49e4c8
cmp byte [ebx + 0x12], 0
jne 0x49e4c8
cmp dword [ebx + 0x84], 0
jne 0x49e4c8
cmp byte [ebx + 0x9f], 0
jne 0x49e4c8
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
push eax
push 0
push 0x47
push edi
mov dword [esp + 0x40], eax
call fcn.004c6d90
add esp, 0x10
cmp dword [esp + 0x4c], 0
jne 0x49e5fc
cmp dword [esp + 0xa8], 0
jne 0x49e5fc
cmp dword [esp + 0x14], 0
jne 0x49e5fc
cmp byte [esi + 0x2b], 1
je 0x49e5fc
push dword [esi]
push 1
push dword [esi + 0x14]
push ebp
push ebx
call fcn.004c25d0
add esp, 0x14
test byte [esi + 0x1c], 0x80
jne 0x49e530
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.004c6e50
add esp, 0x1c
mov esi, dword [esi + 8]
test esi, esi
je 0x49eaa2
mov ebx, dword [esp + 0x44]
nop
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
jne 0x49e597
test byte [ebx + 0x1c], 0x80
je 0x49e597
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 0x49e57d
push edx
push ebp
push eax
push 0x91
push edi
call fcn.00475980
add esp, 0x14
jmp 0x49e5e5
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 0x49e5ce
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x49e5b6
push 0
push ebp
push edx
push 0x91
push edi
call fcn.00475980
add esp, 0x14
jmp 0x49e5e5
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 0x49e540
mov ebx, dword [esp + 0xa0]
jmp 0x49eaa2
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 0x49e649
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
push eax
push 0
push 0x4b
push edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x64], eax
call fcn.004c6d90
add esp, 0x10
jmp 0x49e695
push esi
call fcn.004b9e00
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.004c6d90
push dword [esp + 0x28]
mov dword [esp + 0x50], eax
push ebx
call fcn.004d3a20
add esp, 0x1c
mov eax, dword [esp + 0x18]
inc eax
push eax
push ebp
push 0
push 0
push 0
push dword [esp + 0xbc]
push dword [esp + 0xbc]
push ebx
call fcn.004d61c0
mov edx, eax
add esp, 0x20
mov dword [esp + 0x60], edx
test edx, edx
je 0x49ead7
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 + 0x70], al
cmp al, 1
je 0x49e6f5
mov eax, dword [ebx + 0x80]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
test byte [edx + 0x30], 1
je 0x49e70d
push dword [esp + 0x18]
push 0x8f
push edi
call fcn.004c6d30
add esp, 0xc
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49e723
push 1
push eax
push 0x56
push edi
call fcn.004c6d90
add esp, 0x10
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x49e776
mov edx, dword [esp + 0x40]
xor ebp, ebp
movsx eax, dx
mov dword [esp + 0x28], eax
xor eax, eax
cmp ax, dx
jge 0x49e770
mov ebx, dword [esp + 0x28]
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.004a1100
mov ecx, dword [esp + 0x28]
inc ebp
add esp, 0x14
cmp ebp, ebx
jl 0x49e743
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x2c]
jmp 0x49e78d
inc dword [ebx + 0x2c]
mov ebp, dword [ebx + 0x2c]
push ebp
push 0xffffffffffffffff
push dword [esp + 0x20]
push esi
push edi
call fcn.004a1100
add esp, 0x14
cmp byte [esp + 0x12], 0
je 0x49e833
mov ecx, dword [esp + 0x40]
movzx eax, cx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
add eax, 2
cdq
push edx
push eax
push dword [esp + 0x3c]
call fcn.0049db10
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x49e7d4
push dword [esp + 0x60]
call fcn.004d98d0
add esp, 4
jmp 0x49ead7
mov eax, dword [esp + 0x3c]
inc eax
push eax
push 1
push ecx
call fcn.004fd610
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 0x49e804
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x4c]
test eax, eax
js 0x49e812
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x49e824
push eax
push edi
call fcn.004c72d0
add esp, 8
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x5c], eax
jmp 0x49e8b0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x49e889
mov ecx, dword [esp + 0x40]
inc dword [ebx + 0x2c]
mov ebp, dword [ebx + 0x2c]
movsx esi, cx
push esi
push eax
push dword [ebx]
mov dword [esp + 0x34], 0
call fcn.004adcd0
add esp, 8
push eax
push ebp
push esi
push dword [esp + 0x3c]
push 0x61
push edi
call fcn.004c6e50
push esi
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x48]
push 0x8a
push edi
call fcn.004c6ed0
mov esi, dword [esp + 0x78]
add esp, 0x34
jmp 0x49e8a4
push ebp
push dword [esp + 0x58]
mov dword [esp + 0x30], 1
push 0x9c
push edi
call fcn.004c6d90
add esp, 0x10
push dword [esp + 0x60]
call fcn.004d98d0
add esp, 4
cmp byte [esp + 0x13], 2
je 0x49e90c
cmp byte [esp + 0x12], 2
mov dword [esp + 0x38], 0
jne 0x49e8d5
push 0xf
push edi
call fcn.004c6ce0
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.004b2420
mov al, byte [esp + 0x32]
add esp, 0x20
cmp al, 2
jne 0x49e910
push dword [esp + 0x38]
push edi
call fcn.004d11b0
add esp, 8
jmp 0x49e914
mov al, byte [esp + 0x12]
test al, al
je 0x49e94d
cmp byte [esi + 0x2b], 1
mov ecx, dword [esp + 0x1c]
je 0x49e9b2
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x18]
cmp byte [eax + ecx], 0
je 0x49e9ac
mov eax, dword [esp + 0x28]
cwde
push eax
push ebp
push dword [esp + 0x64]
push ecx
push 0x1c
push edi
call fcn.004c6ed0
add esp, 0x18
jmp 0x49e9a8
cmp dword [esp + 0x14], 0
je 0x49e992
push dword [esp + 0x20]
push 0x24
push edi
call fcn.004c6d30
add esp, 0xc
mov dword [esp + 0x48], eax
cmp byte [esi + 0x2b], 1
push ebp
jne 0x49e97e
push 0
push dword [esp + 0x28]
push 0x5e
push edi
call fcn.004c6df0
jmp 0x49e9a5
push dword [esp + 0x24]
push 0x86
push edi
call fcn.004c6d90
add esp, 0x10
jmp 0x49e9a8
push ebp
push 0
push dword [esp + 0x5c]
push 0x2e
push edi
call fcn.004c6df0
mov dword [esp + 0x5c], eax
add esp, 0x14
mov ecx, dword [esp + 0x1c]
cmp byte [esi + 0x2b], 1
jne 0x49ea1e
push esi
push dword [esp + 0x38]
call fcn.004ad0d0
push esi
push ebx
mov dword [esp + 0x74], eax
call fcn.004d4e20
mov ecx, dword [ebx + 0x80]
add esp, 0x10
test ecx, ecx
mov edx, ebx
cmovne edx, ecx
cmp byte [esp + 0x12], 1
mov byte [edx + 0x15], 1
jne 0x49e9fe
push dword [esp + 0x18]
push 0x7a
push edi
call fcn.004c6d30
add esp, 0xc
cmp dword [ebx + 0x80], 0
jne 0x49e9fe
mov byte [ebx + 0x14], 0
push 0xfffffffffffffff5
push dword [esp + 0x68]
push ebp
push 1
push 0
push 7
push edi
call fcn.004c6e50
push 2
push edi
call fcn.004c72b0
add esp, 0x24
jmp 0x49ea4b
push dword [esp + 0x4c]
cmp byte [ebx + 0x12], 0
push dword [esp + 0x74]
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.004abf90
add esp, 0x2c
cmp byte [esp + 0x12], 0
je 0x49ea6a
push dword [esp + 0x5c]
push edi
call fcn.004d3660
push dword [esp + 0x68]
call fcn.004d98d0
add esp, 0xc
jmp 0x49eaa2
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x48]
je 0x49ea91
lea eax, [esi + 1]
push eax
push dword [esp + 0x24]
push 0x27
push edi
call fcn.004c6d90
push esi
push edi
call fcn.004d1180
add esp, 0x18
jmp 0x49eaa2
push esi
push edi
call fcn.004d0c00
push esi
push edi
call fcn.004d1180
add esp, 0x10
cmp byte [ebx + 0x12], 0
jne 0x49eac0
cmp dword [ebx + 0x84], 0
jne 0x49eac0
cmp dword [ebx + 0x7c], 0
je 0x49eac0
push ebx
call fcn.0045ea60
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49ead7
push str.rows_deleted
push eax
push edi
call fcn.004994e0
add esp, 0xc
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x49eaf5
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x104], ecx
jmp 0x49eaf5
xor ebp, ebp
pop esi
push dword [esp + 0xa0]
push edi
call fcn.004c0ed0
mov eax, dword [esp + 0xac]
add esp, 8
test eax, eax
je 0x49eb1b
push eax
push edi
call fcn.004a3d70
add esp, 8
test ebp, ebp
je 0x49eb29
push ebp
push edi
call fcn.0049dc30
add esp, 8
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret