Function at 0x5a9b20
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 + 0x60], xmm0
mov dword [esp + 0x30], edi
cmp dword [ebx + 0x24], eax
jne 0x5aa43e
push esi
push dword [esp + 0xa4]
push ebx
call fcn.005cc810
mov esi, eax
add esp, 8
mov dword [esp + 0x44], esi
test esi, esi
je 0x5aa43d
cmp dword [esi + 0x38], ebp
jne 0x5a9bbd
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x5a9bc6
cmp dword [eax + 0x30], ebp
je 0x5a9bc6
cmp byte [ebx + 0xa1], 0
je 0x5a9bd9
mov al, byte [esi + 0x2b]
xor ebp, ebp
mov dword [esp + 0x50], ebp
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
jmp 0x5a9c01
push 0
push 0
push 0x80
push esi
push ebx
call fcn.005eb3e0
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 0x5a9c1b
push 0
push 0
push esi
push ebx
call fcn.005b3a40
add esp, 0x10
mov dword [esp + 0x14], 0
test eax, eax
je 0x5a9c23
mov dword [esp + 0x14], 1
cmp byte [esi + 0x2b], 1
je 0x5a9c30
cmp word [esi + 0x22], 0
jg 0x5a9c42
push esi
push ebx
call fcn.005f1570
add esp, 8
test eax, eax
jne 0x5aa43b
push ebp
push esi
push ebx
call fcn.005bad80
add esp, 0xc
test eax, eax
jne 0x5aa43b
mov ecx, dword [esi + 0x3c]
mov ebp, 0xffff8000
test ecx, ecx
je 0x5a9c78
mov eax, dword [edi + 0x10]
xor ebp, ebp
add eax, 0xc
cmp dword [eax], ecx
je 0x5a9c78
nop dword [eax]
lea eax, [eax + 0x10]
inc ebp
cmp dword [eax], ecx
jne 0x5a9c70
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.0059fd10
add esp, 0x14
mov dword [esp + 0x4c], eax
cmp eax, 1
je 0x5aa43b
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
mov ecx, dword [ebx + 0x28]
inc ecx
mov dword [ebx + 0x28], ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x5a9cd3
inc ecx
inc edx
mov dword [ebx + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x5a9cc3
mov dword [esp + 0x3c], edx
cmp byte [esp + 0x12], 2
jne 0x5a9cf2
mov ecx, dword [ebx + 0x104]
mov eax, dword [esi]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ecx
mov dword [ebx + 0x104], eax
jmp 0x5a9d02
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 0x5a9d30
cmp dword [ebx + 0x80], edi
jne 0x5a9d1d
mov eax, dword [ebx]
test byte [eax + 0x50], 8
jne 0x5a9d1d
mov byte [ebx + 0x17], 1
push ebx
call fcn.005d28f0
mov edi, eax
add esp, 4
test edi, edi
je 0x5aa41f
cmp byte [ebx + 0x12], 0
jne 0x5a9d3d
or dword [edi + 0x98], 0x10
push ebp
push dword [esp + 0x18]
push ebx
call fcn.005a07f0
add esp, 0xc
cmp byte [esp + 0x13], 2
jne 0x5a9d81
push dword [esp + 0x18]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push esi
push ebx
call fcn.005bc790
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.005c6c90
add esp, 8
test eax, eax
jne 0x5aa41f
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x5a9e19
cmp byte [ebx + 0x12], 0
jne 0x5a9e19
cmp dword [ebx + 0x84], 0
jne 0x5a9e19
cmp byte [ebx + 0x9f], 0
jne 0x5a9e19
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
push eax
push 0
push 0x47
push edi
mov dword [esp + 0x40], eax
call fcn.005d2320
add esp, 0x10
cmp dword [esp + 0x4c], 0
jne 0x5a9f4c
cmp dword [esp + 0xa8], 0
jne 0x5a9f4c
cmp dword [esp + 0x14], 0
jne 0x5a9f4c
cmp byte [esi + 0x2b], 1
je 0x5a9f4c
push dword [esi]
push 1
push dword [esi + 0x14]
push ebp
push ebx
call fcn.005cdd00
add esp, 0x14
test byte [esi + 0x1c], 0x80
jne 0x5a9e81
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.005d23e0
add esp, 0x1c
mov esi, dword [esi + 8]
test esi, esi
je 0x5aa3ea
mov ebx, dword [esp + 0x44]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
jne 0x5a9ee7
test byte [ebx + 0x1c], 0x80
je 0x5a9ee7
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 0x5a9ecd
push edx
push ebp
push eax
push 0x91
push edi
call fcn.00580cd0
add esp, 0x14
jmp 0x5a9f35
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 0x5a9f1e
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x5a9f06
push 0
push ebp
push edx
push 0x91
push edi
call fcn.00580cd0
add esp, 0x14
jmp 0x5a9f35
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 0x5a9e90
mov ebx, dword [esp + 0xa0]
jmp 0x5aa3ea
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 0x5a9f9a
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.005d2320
add esp, 0x10
jmp 0x5a9fe6
push esi
call fcn.005c52b0
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.005d2320
push dword [esp + 0x28]
mov dword [esp + 0x50], eax
push ebx
call fcn.005debd0
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.005e1300
mov edx, eax
add esp, 0x20
mov dword [esp + 0x60], edx
test edx, edx
je 0x5aa41f
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 0x5aa046
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 0x5aa05e
push dword [esp + 0x18]
push 0x8f
push edi
call fcn.005d22c0
add esp, 0xc
mov eax, dword [esp + 0x30]
test eax, eax
je 0x5aa074
push 1
push eax
push 0x56
push edi
call fcn.005d2320
add esp, 0x10
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x5aa0c3
mov eax, dword [esp + 0x40]
xor ebp, ebp
cwde
test eax, eax
jle 0x5aa0bd
mov ebx, eax
nop dword [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.005ac830
mov ecx, dword [esp + 0x28]
inc ebp
add esp, 0x14
cmp ebp, ebx
jl 0x5aa090
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x2c]
jmp 0x5aa0db
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.005ac830
add esp, 0x14
cmp byte [esp + 0x12], 0
je 0x5aa17e
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.005a9460
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x5aa122
push dword [esp + 0x60]
call fcn.005e49d0
add esp, 4
jmp 0x5aa41f
mov eax, dword [esp + 0x3c]
inc eax
push eax
push 1
push ecx
call fcn.006213c0
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 0x5aa152
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x4c]
test eax, eax
js 0x5aa160
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x5aa172
push eax
push edi
call fcn.005d2820
add esp, 8
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x5c], eax
jmp 0x5aa1fc
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x5aa1d5
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.005b8dd0
add esp, 8
push eax
push ebp
push esi
push dword [esp + 0x3c]
push 0x61
push edi
call fcn.005d23e0
push esi
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x48]
push 0x8a
push edi
call fcn.005d2460
mov esi, dword [esp + 0x78]
add esp, 0x34
jmp 0x5aa1f0
push ebp
push dword [esp + 0x58]
mov dword [esp + 0x30], 1
push 0x9c
push edi
call fcn.005d2320
add esp, 0x10
push dword [esp + 0x60]
call fcn.005e49d0
add esp, 4
cmp byte [esp + 0x13], 2
je 0x5aa258
cmp byte [esp + 0x12], 2
mov dword [esp + 0x38], 0
jne 0x5aa221
push 0xf
push edi
call fcn.005d2270
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.005bd300
mov al, byte [esp + 0x32]
add esp, 0x20
cmp al, 2
jne 0x5aa25c
push dword [esp + 0x38]
push edi
call fcn.005dc2e0
add esp, 8
jmp 0x5aa260
mov al, byte [esp + 0x12]
test al, al
je 0x5aa295
cmp byte [esi + 0x2b], 1
mov ecx, dword [esp + 0x1c]
je 0x5aa2fa
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x18]
cmp byte [eax + ecx], 0
je 0x5aa2f4
mov eax, dword [esp + 0x28]
cwde
push eax
push ebp
push dword [esp + 0x64]
push ecx
push 0x1c
push edi
call fcn.005d2460
add esp, 0x18
jmp 0x5aa2f0
cmp dword [esp + 0x14], 0
je 0x5aa2da
push dword [esp + 0x20]
push 0x24
push edi
call fcn.005d22c0
add esp, 0xc
mov dword [esp + 0x48], eax
cmp byte [esi + 0x2b], 1
push ebp
jne 0x5aa2c6
push 0
push dword [esp + 0x28]
push 0x5e
push edi
call fcn.005d2380
jmp 0x5aa2ed
push dword [esp + 0x24]
push 0x86
push edi
call fcn.005d2320
add esp, 0x10
jmp 0x5aa2f0
push ebp
push 0
push dword [esp + 0x5c]
push 0x2e
push edi
call fcn.005d2380
mov dword [esp + 0x5c], eax
add esp, 0x14
mov ecx, dword [esp + 0x1c]
cmp byte [esi + 0x2b], 1
jne 0x5aa366
push esi
push dword [esp + 0x38]
call fcn.005b8190
push esi
push ebx
mov dword [esp + 0x74], eax
call fcn.005dff80
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 0x5aa346
push dword [esp + 0x18]
push 0x7a
push edi
call fcn.005d22c0
add esp, 0xc
cmp dword [ebx + 0x80], 0
jne 0x5aa346
mov byte [ebx + 0x14], 0
push 0xfffffffffffffff5
push dword [esp + 0x68]
push ebp
push 1
push 0
push 7
push edi
call fcn.005d23e0
push 2
push edi
call fcn.005d2800
add esp, 0x24
jmp 0x5aa393
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.005b7050
add esp, 0x2c
cmp byte [esp + 0x12], 0
je 0x5aa3b2
push dword [esp + 0x5c]
push edi
call fcn.005de7e0
push dword [esp + 0x68]
call fcn.005e49d0
add esp, 0xc
jmp 0x5aa3ea
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x48]
je 0x5aa3d9
lea eax, [esi + 1]
push eax
push dword [esp + 0x24]
push 0x27
push edi
call fcn.005d2320
push esi
push edi
call fcn.005dc2b0
add esp, 0x18
jmp 0x5aa3ea
push esi
push edi
call fcn.005dbcf0
push esi
push edi
call fcn.005dc2b0
add esp, 0x10
cmp byte [ebx + 0x12], 0
jne 0x5aa408
cmp dword [ebx + 0x84], 0
jne 0x5aa408
cmp dword [ebx + 0x7c], 0
je 0x5aa408
push ebx
call fcn.00569ea0
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x5aa41f
push str.rows_deleted
push eax
push edi
call fcn.005a53f0
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x5aa43d
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x104], ecx
jmp 0x5aa43d
xor ebp, ebp
pop esi
push dword [esp + 0xa0]
push edi
call fcn.005cc230
mov eax, dword [esp + 0xac]
add esp, 8
test eax, eax
je 0x5aa463
push eax
push edi
call fcn.005af220
add esp, 8
test ebp, ebp
je 0x5aa471
push ebp
push edi
call fcn.005a9580
add esp, 8
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret