Function at 0x4881d0
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 0x488af6
push esi
push dword [esp + 0xa4]
push ebx
call fcn.004ab480
mov esi, eax
add esp, 8
mov dword [esp + 0x44], esi
test esi, esi
je 0x488af5
cmp dword [esi + 0x38], ebp
jne 0x48826d
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x488276
cmp dword [eax + 0x30], ebp
je 0x488276
cmp byte [ebx + 0xa1], 0
je 0x488289
mov al, byte [esi + 0x2b]
xor ebp, ebp
mov dword [esp + 0x50], ebp
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
jmp 0x4882b1
push 0
push 0
push 0x80
push esi
push ebx
call fcn.004ca160
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 0x4882cb
push 0
push 0
push esi
push ebx
call fcn.00492a40
add esp, 0x10
mov dword [esp + 0x14], 0
test eax, eax
je 0x4882d3
mov dword [esp + 0x14], 1
cmp byte [esi + 0x2b], 1
je 0x4882e0
cmp word [esi + 0x22], 0
jg 0x4882f2
push esi
push ebx
call fcn.004d0b90
add esp, 8
test eax, eax
jne 0x488af3
push ebp
push esi
push ebx
call fcn.00499cc0
add esp, 0xc
test eax, eax
jne 0x488af3
mov ecx, dword [esi + 0x3c]
mov ebp, 0xffff8000
test ecx, ecx
je 0x488328
mov eax, dword [edi + 0x10]
xor ebp, ebp
add eax, 0xc
cmp dword [eax], ecx
je 0x488328
nop dword [eax]
lea eax, [eax + 0x10]
inc ebp
cmp dword [eax], ecx
jne 0x488320
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.0047da60
add esp, 0x14
mov dword [esp + 0x4c], eax
cmp eax, 1
je 0x488af3
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 0x488382
inc ecx
inc edx
mov dword [ebx + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x488372
mov dword [esp + 0x3c], edx
cmp byte [esp + 0x12], 2
jne 0x4883a1
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 0x4883b1
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 0x4883df
cmp dword [ebx + 0x80], edi
jne 0x4883cc
mov eax, dword [ebx]
test byte [eax + 0x50], 8
jne 0x4883cc
mov byte [ebx + 0x17], 1
push ebx
call fcn.004b1580
mov edi, eax
add esp, 4
test edi, edi
je 0x488ad7
cmp byte [ebx + 0x12], 0
jne 0x4883ec
or dword [edi + 0x98], 0x10
push ebp
push dword [esp + 0x18]
push ebx
call fcn.0047e600
add esp, 0xc
cmp byte [esp + 0x13], 2
jne 0x488430
push dword [esp + 0x18]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push esi
push ebx
call fcn.0049bbc0
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.004a58f0
add esp, 8
test eax, eax
jne 0x488ad7
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x4884c8
cmp byte [ebx + 0x12], 0
jne 0x4884c8
cmp dword [ebx + 0x84], 0
jne 0x4884c8
cmp byte [ebx + 0x9f], 0
jne 0x4884c8
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
push eax
push 0
push 0x47
push edi
mov dword [esp + 0x40], eax
call fcn.004b0d90
add esp, 0x10
cmp dword [esp + 0x4c], 0
jne 0x4885fc
cmp dword [esp + 0xa8], 0
jne 0x4885fc
cmp dword [esp + 0x14], 0
jne 0x4885fc
cmp byte [esi + 0x2b], 1
je 0x4885fc
push dword [esi]
push 1
push dword [esi + 0x14]
push ebp
push ebx
call fcn.004ac5d0
add esp, 0x14
test byte [esi + 0x1c], 0x80
jne 0x488530
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.004b0e50
add esp, 0x1c
mov esi, dword [esi + 8]
test esi, esi
je 0x488aa2
mov ebx, dword [esp + 0x44]
nop
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
jne 0x488597
test byte [ebx + 0x1c], 0x80
je 0x488597
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 0x48857d
push edx
push ebp
push eax
push 0x91
push edi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4885e5
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 0x4885ce
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x4885b6
push 0
push ebp
push edx
push 0x91
push edi
call fcn.0045f9a0
add esp, 0x14
jmp 0x4885e5
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 0x488540
mov ebx, dword [esp + 0xa0]
jmp 0x488aa2
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 0x488649
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.004b0d90
add esp, 0x10
jmp 0x488695
push esi
call fcn.004a3e00
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.004b0d90
push dword [esp + 0x28]
mov dword [esp + 0x50], eax
push ebx
call fcn.004bda20
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.004c01c0
mov edx, eax
add esp, 0x20
mov dword [esp + 0x60], edx
test edx, edx
je 0x488ad7
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 0x4886f5
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 0x48870d
push dword [esp + 0x18]
push 0x8f
push edi
call fcn.004b0d30
add esp, 0xc
mov eax, dword [esp + 0x30]
test eax, eax
je 0x488723
push 1
push eax
push 0x56
push edi
call fcn.004b0d90
add esp, 0x10
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x488776
mov edx, dword [esp + 0x40]
xor ebp, ebp
movsx eax, dx
mov dword [esp + 0x28], eax
xor eax, eax
cmp ax, dx
jge 0x488770
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.0048b100
mov ecx, dword [esp + 0x28]
inc ebp
add esp, 0x14
cmp ebp, ebx
jl 0x488743
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x2c]
jmp 0x48878d
inc dword [ebx + 0x2c]
mov ebp, dword [ebx + 0x2c]
push ebp
push 0xffffffffffffffff
push dword [esp + 0x20]
push esi
push edi
call fcn.0048b100
add esp, 0x14
cmp byte [esp + 0x12], 0
je 0x488833
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.00487b10
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4887d4
push dword [esp + 0x60]
call fcn.004c38d0
add esp, 4
jmp 0x488ad7
mov eax, dword [esp + 0x3c]
inc eax
push eax
push 1
push ecx
call fcn.004e7970
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 0x488804
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x4c]
test eax, eax
js 0x488812
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x488824
push eax
push edi
call fcn.004b12d0
add esp, 8
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x5c], eax
jmp 0x4888b0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x488889
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.00497cd0
add esp, 8
push eax
push ebp
push esi
push dword [esp + 0x3c]
push 0x61
push edi
call fcn.004b0e50
push esi
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x48]
push 0x8a
push edi
call fcn.004b0ed0
mov esi, dword [esp + 0x78]
add esp, 0x34
jmp 0x4888a4
push ebp
push dword [esp + 0x58]
mov dword [esp + 0x30], 1
push 0x9c
push edi
call fcn.004b0d90
add esp, 0x10
push dword [esp + 0x60]
call fcn.004c38d0
add esp, 4
cmp byte [esp + 0x13], 2
je 0x48890c
cmp byte [esp + 0x12], 2
mov dword [esp + 0x38], 0
jne 0x4888d5
push 0xf
push edi
call fcn.004b0ce0
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.0049c420
mov al, byte [esp + 0x32]
add esp, 0x20
cmp al, 2
jne 0x488910
push dword [esp + 0x38]
push edi
call fcn.004bb1b0
add esp, 8
jmp 0x488914
mov al, byte [esp + 0x12]
test al, al
je 0x48894d
cmp byte [esi + 0x2b], 1
mov ecx, dword [esp + 0x1c]
je 0x4889b2
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x18]
cmp byte [eax + ecx], 0
je 0x4889ac
mov eax, dword [esp + 0x28]
cwde
push eax
push ebp
push dword [esp + 0x64]
push ecx
push 0x1c
push edi
call fcn.004b0ed0
add esp, 0x18
jmp 0x4889a8
cmp dword [esp + 0x14], 0
je 0x488992
push dword [esp + 0x20]
push 0x24
push edi
call fcn.004b0d30
add esp, 0xc
mov dword [esp + 0x48], eax
cmp byte [esi + 0x2b], 1
push ebp
jne 0x48897e
push 0
push dword [esp + 0x28]
push 0x5e
push edi
call fcn.004b0df0
jmp 0x4889a5
push dword [esp + 0x24]
push 0x86
push edi
call fcn.004b0d90
add esp, 0x10
jmp 0x4889a8
push ebp
push 0
push dword [esp + 0x5c]
push 0x2e
push edi
call fcn.004b0df0
mov dword [esp + 0x5c], eax
add esp, 0x14
mov ecx, dword [esp + 0x1c]
cmp byte [esi + 0x2b], 1
jne 0x488a1e
push esi
push dword [esp + 0x38]
call fcn.004970d0
push esi
push ebx
mov dword [esp + 0x74], eax
call fcn.004bee20
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 0x4889fe
push dword [esp + 0x18]
push 0x7a
push edi
call fcn.004b0d30
add esp, 0xc
cmp dword [ebx + 0x80], 0
jne 0x4889fe
mov byte [ebx + 0x14], 0
push 0xfffffffffffffff5
push dword [esp + 0x68]
push ebp
push 1
push 0
push 7
push edi
call fcn.004b0e50
push 2
push edi
call fcn.004b12b0
add esp, 0x24
jmp 0x488a4b
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.00495f90
add esp, 0x2c
cmp byte [esp + 0x12], 0
je 0x488a6a
push dword [esp + 0x5c]
push edi
call fcn.004bd660
push dword [esp + 0x68]
call fcn.004c38d0
add esp, 0xc
jmp 0x488aa2
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x48]
je 0x488a91
lea eax, [esi + 1]
push eax
push dword [esp + 0x24]
push 0x27
push edi
call fcn.004b0d90
push esi
push edi
call fcn.004bb180
add esp, 0x18
jmp 0x488aa2
push esi
push edi
call fcn.004bac00
push esi
push edi
call fcn.004bb180
add esp, 0x10
cmp byte [ebx + 0x12], 0
jne 0x488ac0
cmp dword [ebx + 0x84], 0
jne 0x488ac0
cmp dword [ebx + 0x7c], 0
je 0x488ac0
push ebx
call fcn.00448a80
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x488ad7
push str.rows_deleted
push eax
push edi
call fcn.004834e0
add esp, 0xc
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x488af5
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x104], ecx
jmp 0x488af5
xor ebp, ebp
pop esi
push dword [esp + 0xa0]
push edi
call fcn.004aaed0
mov eax, dword [esp + 0xac]
add esp, 8
test eax, eax
je 0x488b1b
push eax
push edi
call fcn.0048dd70
add esp, 8
test ebp, ebp
je 0x488b29
push ebp
push edi
call fcn.00487c30
add esp, 8
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret