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

Disassembly:
sub esp, 0x84
push ebx
push ebp
push esi
xor ebx, ebx
mov dword [esp + 0x1c], 0
push edi
mov edi, dword [esp + 0x98]
xor eax, eax
xorps xmm0, xmm0
mov dword [esp + 0x54], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], ebx
mov esi, dword [edi]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x38], eax
movlpd qword [esp + 0x60], xmm0
mov dword [esp + 0x34], esi
cmp dword [edi + 0x24], eax
jne 0x10054ca8
push dword [esp + 0x9c]
push edi
call fcn.10075500
mov ebx, eax
add esp, 8
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x10054ca6
cmp dword [ebx + 0x38], 0
jne 0x10054437
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x10054440
cmp dword [eax + 0x30], 0
je 0x10054440
cmp byte [edi + 0x9b], 0
je 0x10054453
mov al, byte [ebx + 0x2b]
xor ebp, ebp
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
jmp 0x1005447b
push 0
push 0
push 0x80
push ebx
push edi
call fcn.10094520
mov ebp, eax
add esp, 0x14
mov al, byte [ebx + 0x2b]
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
test ebp, ebp
jne 0x10054495
push 0
push 0
push ebx
push edi
call fcn.1005de90
add esp, 0x10
mov dword [esp + 0x14], 0
test eax, eax
je 0x1005449d
mov dword [esp + 0x14], 1
cmp byte [ebx + 0x2b], 1
je 0x100544aa
cmp word [ebx + 0x22], 0
jg 0x100544bc
push ebx
push edi
call fcn.10099eb0
add esp, 8
test eax, eax
jne 0x10054ca6
xor eax, eax
test ebp, ebp
setne al
push eax
push ebx
push edi
call fcn.10064450
add esp, 0xc
test eax, eax
jne 0x10054ca6
mov ecx, dword [ebx + 0x3c]
mov ebp, 0xffff8000
test ecx, ecx
je 0x100544f8
mov eax, dword [esi + 0x10]
xor ebp, ebp
add eax, 0xc
cmp dword [eax], ecx
je 0x100544f8
nop
lea eax, [eax + 0x10]
inc ebp
cmp dword [eax], ecx
jne 0x100544f0
mov eax, dword [esi + 0x10]
mov ecx, ebp
add ecx, ecx
push dword [eax + ecx*8]
push 0
push dword [ebx]
push 9
push edi
call fcn.1004a610
add esp, 0x14
mov dword [esp + 0x48], eax
cmp eax, 1
je 0x10054ca6
mov ecx, dword [esp + 0x9c]
xor edx, edx
mov eax, dword [edi + 0x28]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3c], edx
mov dword [ecx + 0x34], eax
mov ecx, dword [edi + 0x28]
inc ecx
mov dword [edi + 0x28], ecx
mov eax, dword [ebx + 8]
test eax, eax
je 0x10054553
inc ecx
inc edx
mov dword [edi + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10054543
mov dword [esp + 0x3c], edx
cmp byte [esp + 0x12], 2
jne 0x10054572
mov ecx, dword [edi + 0xfc]
mov eax, dword [ebx]
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ecx
mov dword [edi + 0xfc], eax
jmp 0x10054582
mov eax, dword [esp + 0x64]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x6c], eax
mov esi, dword [edi + 8]
test esi, esi
jne 0x100545ad
cmp dword [edi + 0x78], esi
jne 0x1005459a
mov eax, dword [edi]
test byte [eax + 0x50], 8
jne 0x1005459a
mov byte [edi + 0x17], 1
push edi
call fcn.1007aff0
mov esi, eax
add esp, 4
test esi, esi
je 0x10054c8a
cmp byte [edi + 0x12], 0
jne 0x100545ba
or dword [esi + 0x98], 0x10
push ebp
push dword [esp + 0x18]
push edi
call fcn.1004b0d0
add esp, 0xc
cmp byte [esp + 0x13], 2
jne 0x100545fe
push dword [esp + 0x1c]
push dword [esp + 0xac]
push dword [esp + 0xac]
push dword [esp + 0xac]
push ebx
push edi
call fcn.10065e10
mov eax, dword [esp + 0x34]
add esp, 0x18
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x9c]
xorps xmm0, xmm0
push dword [esp + 0xa0]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x78]
push eax
movlpd qword [esp + 0x84], xmm0
movlpd qword [esp + 0x8c], xmm0
movlpd qword [esp + 0x94], xmm0
mov dword [esp + 0x7c], edi
call fcn.1006fb40
add esp, 8
test eax, eax
jne 0x10054c8a
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x10054682
cmp byte [edi + 0x12], 0
jne 0x10054682
cmp dword [edi + 0x7c], 0
jne 0x10054682
cmp byte [edi + 0x99], 0
jne 0x10054682
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
push eax
push 0
push 0x47
push esi
mov dword [esp + 0x40], eax
call fcn.1007a9c0
add esp, 0x10
cmp dword [esp + 0x48], 0
jne 0x100547bc
cmp dword [esp + 0xa0], 0
jne 0x100547bc
cmp dword [esp + 0x14], 0
jne 0x100547bc
cmp byte [ebx + 0x2b], 1
je 0x100547bc
push dword [ebx]
push 1
push dword [ebx + 0x14]
push ebp
push edi
call fcn.100765a0
add esp, 0x14
test byte [ebx + 0x1c], 0x80
jne 0x100546ea
mov ecx, dword [esp + 0x30]
or eax, 0xffffffff
push 0xffffffffffffffff
push dword [ebx]
test ecx, ecx
cmovne eax, ecx
push eax
push ebp
push dword [ebx + 0x14]
push 0x91
push esi
call fcn.1007aa80
add esp, 0x1c
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x10054c58
mov edi, dword [esp + 0x18]
nop dword [eax]
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
jne 0x10054757
test byte [edi + 0x1c], 0x80
je 0x10054757
mov eax, dword [esp + 0x30]
or edx, 0xffffffff
mov ecx, dword [esi + 0x6c]
test eax, eax
cmovne edx, eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x4c], eax
cmp dword [esi + 0x70], ecx
jg 0x1005473d
push edx
push ebp
push eax
push 0x91
push esi
call fcn.10031c40
add esp, 0x14
jmp 0x100547a5
mov edi, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], edx
jmp 0x1005478e
mov ecx, dword [esi + 0x6c]
mov edx, dword [ebx + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x10054776
push 0
push ebp
push edx
push 0x91
push esi
call fcn.10031c40
add esp, 0x14
jmp 0x100547a5
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 0xc], 0
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4], 0x91
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x10054700
mov edi, dword [esp + 0x98]
jmp 0x10054c58
test byte [esp + 0x8c], 0x40
mov eax, 1
mov ebp, dword [esp + 0x14]
cmovne ebp, eax
xor eax, eax
test ebp, ebp
sete al
test byte [ebx + 0x1c], 0x80
lea eax, [eax*8 + 0x14]
movzx ebp, ax
jne 0x10054812
mov eax, dword [edi + 0x2c]
inc eax
mov dword [esp + 0x14], 0
push eax
push 0
push 0x4b
push esi
mov dword [esp + 0x28], 1
mov dword [esp + 0x60], eax
mov dword [edi + 0x2c], eax
call fcn.1007a9c0
add esp, 0x10
jmp 0x1005485e
push ebx
call fcn.1006e190
mov dword [esp + 0x18], eax
movzx ecx, word [eax + 0x32]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x1c], ecx
movsx ecx, cx
push ecx
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x34], edx
mov edx, dword [edi + 0x28]
push edx
mov dword [edi + 0x2c], eax
push 0x76
lea eax, [edx + 1]
mov dword [esp + 0x34], edx
push esi
mov dword [edi + 0x28], eax
call fcn.1007a9c0
push dword [esp + 0x28]
mov dword [esp + 0x50], eax
push edi
call fcn.100879b0
add esp, 0x1c
mov eax, dword [esp + 0x1c]
inc eax
push eax
push ebp
push 0
push 0
push 0
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push edi
call fcn.1008a440
mov edx, eax
add esp, 0x20
mov dword [esp + 0x5c], edx
test edx, edx
je 0x10054c8a
mov eax, dword [edx + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x48], eax
mov al, byte [edx + 0x2e]
mov byte [esp + 0x12], al
mov byte [esp + 0x70], al
cmp al, 1
je 0x100548bb
mov eax, dword [edi + 0x78]
mov ecx, edi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
test byte [edx + 0x30], 1
je 0x100548d3
push dword [esp + 0x1c]
push 0x8f
push esi
call fcn.1007a960
add esp, 0xc
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100548e9
push 1
push eax
push 0x56
push esi
call fcn.1007a9c0
add esp, 0x10
mov ecx, dword [esp + 0x18]
movzx eax, cx
mov ecx, dword [esp + 0x14]
cwde
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x10054938
xor ebp, ebp
test eax, eax
jle 0x10054932
mov edi, 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 + 0x24]
push ebx
push esi
call fcn.10057030
mov ecx, dword [esp + 0x28]
inc ebp
add esp, 0x14
cmp ebp, edi
jl 0x10054905
mov edi, dword [esp + 0x98]
mov ebp, dword [esp + 0x2c]
jmp 0x1005494f
inc dword [edi + 0x2c]
mov ebp, dword [edi + 0x2c]
push ebp
push 0xffffffffffffffff
push dword [esp + 0x24]
push ebx
push esi
call fcn.10057030
add esp, 0x14
cmp byte [esp + 0x12], 0
je 0x100549f5
mov eax, dword [esp + 0x18]
movzx eax, ax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
add eax, 2
cdq
push edx
push eax
push dword [esp + 0x3c]
call fcn.10053d40
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x10054996
push dword [esp + 0x5c]
call fcn.1008d8e0
add esp, 4
jmp 0x10054c8a
mov eax, dword [esp + 0x3c]
inc eax
push eax
push 1
push ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x48]
add esp, 0xc
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov byte [eax + edx + 1], 0
mov eax, dword [esp + 0x60]
test eax, eax
js 0x100549c6
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x48]
test eax, eax
js 0x100549d4
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100549e6
push eax
push esi
call fcn.1007af20
add esp, 8
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
mov dword [esp + 0x58], eax
jmp 0x10054a70
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10054a49
push dword [esp + 0x40]
inc dword [edi + 0x2c]
mov ebp, dword [edi + 0x2c]
push eax
push dword [edi]
mov dword [esp + 0x24], 0
call fcn.100624b0
add esp, 8
push eax
push ebp
push dword [esp + 0x4c]
push dword [esp + 0x3c]
push 0x61
push esi
call fcn.1007aa80
push dword [esp + 0x5c]
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x4c]
push 0x8a
push esi
call fcn.1007ab00
add esp, 0x34
jmp 0x10054a64
push ebp
push dword [esp + 0x54]
mov dword [esp + 0x20], 1
push 0x9c
push esi
call fcn.1007a9c0
add esp, 0x10
push dword [esp + 0x5c]
call fcn.1008d8e0
add esp, 4
cmp byte [esp + 0x13], 2
je 0x10054acc
cmp byte [esp + 0x12], 2
mov dword [esp + 0x38], 0
jne 0x10054a95
push 0xf
push esi
call fcn.1007a910
add esp, 8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x30]
push dword [esp + 0x28]
push 8
push 0x71
push ebx
push edi
call fcn.10066650
mov al, byte [esp + 0x32]
add esp, 0x20
cmp al, 2
jne 0x10054ad0
push dword [esp + 0x38]
push esi
call fcn.10084d80
add esp, 8
jmp 0x10054ad4
mov al, byte [esp + 0x12]
test al, al
je 0x10054b09
cmp byte [ebx + 0x2b], 1
mov ecx, dword [esp + 0x20]
je 0x10054b6e
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x1c]
cmp byte [eax + ecx], 0
je 0x10054b68
mov eax, dword [esp + 0x18]
cwde
push eax
push ebp
push dword [esp + 0x60]
push ecx
push 0x1c
push esi
call fcn.1007ab00
add esp, 0x18
jmp 0x10054b64
cmp dword [esp + 0x14], 0
je 0x10054b4e
push dword [esp + 0x24]
push 0x24
push esi
call fcn.1007a960
add esp, 0xc
mov dword [esp + 0x44], eax
cmp byte [ebx + 0x2b], 1
push ebp
jne 0x10054b3a
push 0
push dword [esp + 0x2c]
push 0x5e
push esi
call fcn.1007aa20
jmp 0x10054b61
push dword [esp + 0x28]
push 0x86
push esi
call fcn.1007a9c0
add esp, 0x10
jmp 0x10054b64
push ebp
push 0
push dword [esp + 0x58]
push 0x2e
push esi
call fcn.1007aa20
mov dword [esp + 0x58], eax
add esp, 0x14
mov ecx, dword [esp + 0x20]
cmp byte [ebx + 0x2b], 1
jne 0x10054bd4
push ebx
push dword [esp + 0x38]
call fcn.10061900
push ebx
push edi
mov dword [esp + 0x70], eax
call fcn.10088cf0
mov ecx, dword [edi + 0x78]
add esp, 0x10
test ecx, ecx
mov edx, edi
cmovne edx, ecx
cmp byte [esp + 0x12], 1
mov byte [edx + 0x15], 1
jne 0x10054bb4
push dword [esp + 0x1c]
push 0x7a
push esi
call fcn.1007a960
add esp, 0xc
cmp dword [edi + 0x78], 0
jne 0x10054bb4
mov byte [edi + 0x14], 0
push 0xfffffffffffffff5
push dword [esp + 0x64]
push ebp
push 1
push 0
push 7
push esi
call fcn.1007aa80
push 2
push esi
call fcn.1007af00
add esp, 0x24
jmp 0x10054c01
push dword [esp + 0x48]
cmp byte [edi + 0x12], 0
push dword [esp + 0x74]
sete al
push 0xb
movzx eax, al
push eax
push dword [esp + 0x28]
push ebp
push dword [esp + 0x6c]
push ecx
push dword [esp + 0x6c]
push ebx
push edi
call fcn.10060810
add esp, 0x2c
cmp byte [esp + 0x12], 0
je 0x10054c20
push dword [esp + 0x58]
push esi
call fcn.100875d0
push dword [esp + 0x64]
call fcn.1008d8e0
add esp, 0xc
jmp 0x10054c58
cmp dword [esp + 0x14], 0
mov ebx, dword [esp + 0x44]
je 0x10054c47
lea eax, [ebx + 1]
push eax
push dword [esp + 0x28]
push 0x27
push esi
call fcn.1007a9c0
push ebx
push esi
call fcn.10084d50
add esp, 0x18
jmp 0x10054c58
push ebx
push esi
call fcn.10084800
push ebx
push esi
call fcn.10084d50
add esp, 0x10
cmp byte [edi + 0x12], 0
jne 0x10054c73
cmp dword [edi + 0x7c], 0
jne 0x10054c73
cmp dword [edi + 0x74], 0
je 0x10054c73
push edi
call fcn.1001c790
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10054c8a
push str.rows_deleted
push eax
push esi
call fcn.1004fe80
add esp, 0xc
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
test eax, eax
je 0x10054ca8
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0xfc], ecx
jmp 0x10054ca8
xor ebx, ebx
push dword [esp + 0x9c]
push esi
call fcn.10074f30
mov eax, dword [esp + 0xa8]
add esp, 8
test eax, eax
je 0x10054ccd
push eax
push esi
call fcn.100597d0
add esp, 8
test ebx, ebx
je 0x10054cdb
push ebx
push esi
call fcn.10053e60
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret