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

Disassembly:
sub esp, 0x90
push ebx
push ebp
mov ebp, dword [esp + 0x9c]
or eax, 0xffffffff
push esi
mov dword [esp + 0x38], eax
xor eax, eax
push edi
mov edi, dword [ebp]
mov dword [esp + 0x38], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov byte [esp + 0x13], al
mov dword [esp + 0x34], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], edi
cmp dword [ebp + 0x24], eax
jne 0x1004b688
cmp byte [edi + 0x51], al
jne 0x1004b688
mov esi, dword [esp + 0xac]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], esi
test esi, esi
je 0x1004a586
test dword [esi + 8], 0x200
je 0x1004a586
cmp dword [esi + 0x34], eax
jne 0x1004a586
mov eax, dword [esi]
push esi
push edi
mov dword [esp + 0x3c], eax
mov dword [esi], 0
call fcn.10057b70
add esp, 8
mov dword [esp + 0x18], 0
push dword [esp + 0xa8]
push ebp
call fcn.10058b70
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x1004b6a2
push dword [ebx + 0x48]
push edi
call fcn.10055670
mov esi, eax
mov eax, dword [edi + 0x10]
mov ecx, esi
mov dword [esp + 0x5c], esi
add ecx, ecx
push dword [eax + ecx*8]
push 0
push dword [ebx]
push 0x12
push ebp
call fcn.10036c80
add esp, 0x1c
test eax, eax
jne 0x1004a93e
mov eax, dword [ebx + 0x24]
shr eax, 5
and eax, 0xffffff01
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x50]
push eax
push 0
push 0x78
push ebx
push ebp
call fcn.10059980
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0xc]
push ebx
push ebp
mov dword [esp + 0x8c], eax
call fcn.10068020
add esp, 0x1c
test eax, eax
jne 0x1004a93e
push dword [esp + 0x50]
push ebx
push ebp
call fcn.1004b900
add esp, 0xc
test eax, eax
jne 0x1004a93e
push ebp
call fcn.100495a0
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
test edi, edi
je 0x1004a93e
cmp byte [ebp + 0x12], 0
jne 0x1004a64d
or dword [edi + 0x98], 0x20
cmp dword [esp + 0x18], 0
jne 0x1004a65f
cmp dword [esp + 0x44], 0
jne 0x1004a65f
xor eax, eax
jmp 0x1004a664
mov eax, 1
push esi
push eax
push ebp
call fcn.100373e0
add esp, 0xc
cmp dword [esp + 0xb0], 0
jne 0x1004a697
push esi
push dword [esp + 0xb8]
push dword [esp + 0x20]
push ebx
push ebp
call fcn.10080be0
add esp, 0x14
test eax, eax
jne 0x1004b5e6
push ebx
push esi
push ebp
call fcn.10014010
mov ecx, dword [ebp + 0x2c]
add esp, 0xc
mov dword [esp + 0x58], eax
movsx eax, word [ebx + 0x2a]
inc eax
lea esi, [ecx + 1]
add eax, ecx
mov edx, esi
mov dword [ebp + 0x2c], eax
cmp dword [ebx + 0x38], 0
mov dword [esp + 0x60], esi
mov dword [esp + 0x30], edx
je 0x1004a6d1
lea edx, [esi + 1]
inc eax
mov dword [esp + 0x30], edx
mov dword [ebp + 0x2c], eax
lea eax, [edx + 1]
mov edx, dword [ebx + 0x24]
shr edx, 7
not dl
mov dword [esp + 0x48], eax
and edx, 0xffffff01
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x1004a7f0
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
jle 0x1004a714
mov eax, dword [edx]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [edx + 4]
cmp ecx, eax
jl 0x1004a702
xor ebp, ebp
mov dword [esp + 0x20], ebp
test eax, eax
jle 0x1004a7e9
movzx eax, word [ebx + 0x2a]
movsx ebx, ax
xor edi, edi
test ebx, ebx
jle 0x1004a795
mov eax, dword [edx]
mov esi, dword [esp + 0x14]
lea eax, [eax + ebp*8]
mov ebp, dword [eax]
mov esi, dword [esi + 4]
mov dword [esp + 0x78], eax
push dword [esi]
push ebp
call fcn.10059460
add esp, 8
test eax, eax
je 0x1004a75e
inc edi
add esi, 0x10
cmp edi, ebx
jl 0x1004a741
mov ebp, dword [esp + 0x20]
jmp 0x1004a78e
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x20]
cmp ebp, edi
setne cl
mov dword [eax + 4], edi
dec cl
mov eax, dword [esp + 0x24]
and cl, al
mov eax, dword [esp + 0x14]
mov byte [esp + 0x24], cl
movsx eax, word [eax + 0x28]
cmp edi, eax
jne 0x1004a78e
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x24], cl
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x14]
movzx ebx, word [eax + 0x2a]
movsx eax, bx
cmp edi, eax
jl 0x1004a7d5
mov eax, dword [edx]
mov esi, dword [eax + ebp*8]
push esi
call fcn.1004b9d0
add esp, 4
test eax, eax
je 0x1004a91b
cmp byte [esp + 0x7c], 0
jne 0x1004a91b
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x24], 0
inc ebp
mov eax, ebx
mov dword [esp + 0x20], ebp
cmp ebp, dword [edx + 4]
jl 0x1004a726
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0xa4]
cmp dword [esp + 0x18], 0
je 0x1004ab34
inc dword [ebp + 0x2c]
mov edi, dword [edi + 0x6c]
mov esi, dword [ebp + 0x2c]
mov ebx, dword [esp + 0x1c]
lea eax, [edi + 1]
push eax
push 0
push esi
push 0xd
push ebx
call fcn.1005c4f0
mov eax, dword [esp + 0x38]
movzx eax, al
neg eax
mov byte [esp + 0x94], 0xd
mov dword [esp + 0x98], esi
sbb eax, eax
mov dword [esp + 0xa4], 0
and eax, dword [esp + 0x5c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x28]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x30]
push ebp
call fcn.100556a0
mov ecx, dword [esp + 0xa8]
add esp, 0x20
mov dword [esp + 0x5c], ecx
test eax, eax
jne 0x1004a93e
mov eax, dword [esp + 0x4c]
cmp byte [eax + 0x51], 0
jne 0x1004a93e
cmp dword [ebp + 0x24], 0
jne 0x1004a93e
push esi
push ebx
call fcn.1005cf20
push edi
push ebx
call fcn.10064d70
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp dword [esp + 0x44], 0
mov eax, dword [eax]
mov ebx, dword [eax]
mov dword [esp + 0x24], ebx
jne 0x1004aa85
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x1004a8e8
cmp dword [ebp + 0x74], eax
jne 0x1004a8db
mov eax, dword [ebp]
test byte [eax + 0x4c], 8
jne 0x1004a8db
mov byte [ebp + 0x17], 1
push ebp
call fcn.1005cd00
add esp, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov edi, dword [eax + 0x6c]
cmp dword [ecx + 0x38], 0
je 0x1004a9e5
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x1004a9e7
mov eax, dword [ebp]
cmp dword [edx], eax
je 0x1004a912
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x1004a907
mov eax, dword [esp + 0x20]
jmp 0x1004a9e7
mov ebx, dword [esp + 0xa4]
push esi
push 0
push dword [esp + 0xb0]
push str.table__S_has_no_column_named__s
push ebx
call fcn.1003fb40
add esp, 0x14
mov byte [ebx + 0x11], 1
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb8]
mov edi, dword [esp + 0x18]
push dword [esp + 0xa8]
mov ebp, dword [esp + 0x50]
push ebp
call fcn.10058510
mov eax, dword [esp + 0x3c]
add esp, 8
test eax, eax
je 0x1004a976
push eax
push ebp
call fcn.10020380
add esp, 8
test ebx, ebx
je 0x1004b6e2
mov eax, dword [ebx]
test eax, eax
je 0x1004a98e
push eax
push ebp
call fcn.10020380
add esp, 8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a99f
push eax
push ebp
call fcn.10042b80
add esp, 8
mov eax, dword [ebx + 8]
test eax, eax
je 0x1004a9b0
push eax
push ebp
call fcn.10020380
add esp, 8
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x1004a9c1
push eax
push ebp
call fcn.10042b80
add esp, 8
test ebp, ebp
je 0x1004b6d9
cmp dword [ebp + 0x1e8], 0
je 0x1004b6b9
push ebx
push ebp
call fcn.100281e0
add esp, 8
jmp 0x1004b6e2
xor edx, edx
mov esi, 1
cmp edi, esi
jle 0x1004aa75
mov eax, dword [eax]
mov bl, byte [eax + 0x51]
lea esp, [esp]
mov eax, esi
test esi, esi
jns 0x1004aa09
lea eax, [edi - 1]
test bl, bl
je 0x1004aa14
mov eax, 0x10095994
jmp 0x1004aa21
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov cl, byte [eax]
cmp cl, 0x6c
jne 0x1004aa52
mov ecx, dword [esp + 0x54]
cmp dword [eax + 0xc], ecx
jne 0x1004aa5c
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x14]
cmp ecx, dword [eax + 0x1c]
je 0x1004aa85
mov eax, dword [eax + 8]
test eax, eax
je 0x1004aa5c
cmp ecx, dword [eax + 0x2c]
je 0x1004aa85
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x1004aa44
jmp 0x1004aa5c
cmp cl, 0xa3
jne 0x1004aa5c
cmp dword [eax + 0x10], edx
je 0x1004aa85
inc esi
cmp esi, edi
jl 0x1004aa00
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
jmp 0x1004aba5
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
jmp 0x1004aba9
mov edx, dword [ebp + 0x28]
push ebp
mov byte [esp + 0x17], 1
mov dword [esp + 0x2c], edx
lea eax, [edx + 1]
mov dword [ebp + 0x28], eax
call fcn.10048c80
push ebp
mov edi, eax
call fcn.10048c80
push dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov ebx, eax
push edx
push 0x71
push esi
call fcn.1005c490
mov eax, dword [esp + 0x9c]
push eax
push 0xe
push esi
mov dword [esp + 0x50], eax
call fcn.1005c430
push edi
push dword [esp + 0x4c]
mov esi, eax
push dword [esp + 0x88]
push 0x5c
push dword [esp + 0x50]
call fcn.1005c4f0
push ebx
push dword [esp + 0x64]
push 0x79
push dword [esp + 0x60]
call fcn.1005c490
add esp, 0x48
push ebx
push edi
push dword [esp + 0x30]
push 0x7a
push dword [esp + 0x2c]
call fcn.1005c4f0
push esi
push dword [esp + 0x34]
call fcn.10064950
push esi
push dword [esp + 0x3c]
call fcn.10064d70
push edi
push ebp
call fcn.10053a60
push ebx
push ebp
call fcn.10053a60
mov ebx, dword [esp + 0x58]
add esp, 0x34
jmp 0x1004aba5
xor eax, eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], 0xffffffff
test eax, eax
je 0x1004ab9f
mov ebx, dword [eax]
push eax
lea eax, [esp + 0x84]
mov dword [esp + 0x28], ebx
push eax
call fcn.10053f20
add esp, 8
test eax, eax
jne 0x1004a93e
jmp 0x1004aba5
xor ebx, ebx
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0xb0]
test esi, esi
jne 0x1004abc0
test ebx, ebx
jle 0x1004abc0
movsx eax, word [ecx + 0x28]
mov dword [esp + 0x3c], eax
movsx edx, word [ecx + 0x2a]
xor edi, edi
xor ebx, ebx
xor ebp, ebp
cmp edx, 2
jl 0x1004ac09
mov ecx, dword [ecx + 4]
lea esi, [edx - 2]
shr esi, 1
add ecx, 0x1f
inc esi
lea ebp, [esi + esi]
mov edi, edi
movzx eax, byte [ecx - 0x10]
lea ecx, [ecx + 0x20]
shr eax, 1
and eax, 1
add edi, eax
movzx eax, byte [ecx - 0x20]
shr eax, 1
and eax, 1
add ebx, eax
sub esi, 1
jne 0x1004abe0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0xb0]
cmp ebp, edx
jge 0x1004ac1e
mov eax, dword [ecx + 4]
add ebp, ebp
movzx eax, byte [eax + ebp*8 + 0xf]
shr eax, 1
and eax, 1
jmp 0x1004ac20
xor eax, eax
mov ecx, dword [esp + 0x24]
test esi, esi
jne 0x1004ac59
test ecx, ecx
je 0x1004ac7b
sub edx, ebx
sub edx, edi
sub edx, eax
cmp ecx, edx
je 0x1004ac7b
push ecx
push edx
push esi
push dword [esp + 0xb4]
push str.table__S_has__d_columns_but__d_values_were_supplied
push dword [esp + 0xb8]
call fcn.1003fb40
add esp, 0x18
jmp 0x1004a945
mov eax, dword [esi + 4]
cmp ecx, eax
je 0x1004ac7b
push eax
push ecx
push str._d_values_for__d_columns
push dword [esp + 0xb0]
call fcn.1003fb40
add esp, 0x10
jmp 0x1004a945
mov esi, dword [esp + 0x4c]
mov ebp, dword [esp + 0xa4]
mov eax, dword [esi + 0x20]
and eax, 0x80
or eax, 0
je 0x1004acbd
cmp byte [ebp + 0x12], 0
jne 0x1004acbd
cmp dword [ebp + 0x78], 0
jne 0x1004acbd
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
push eax
push 0
push 0x46
push dword [esp + 0x28]
mov dword [esp + 0x84], eax
call fcn.1005c490
add esp, 0x10
cmp dword [esp + 0x70], 0
jne 0x1004ad3d
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x6d
push ebx
push ebp
call fcn.1004d9a0
mov edi, eax
push 0
lea eax, [edi*4 + 8]
push eax
push esi
call fcn.1003de20
mov ecx, eax
add esp, 0x2c
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x1004a93e
mov esi, dword [ebx + 8]
xor edx, edx
test edi, edi
jle 0x1004ad33
lea ecx, [ecx]
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
mov dword [ecx + edx*4], eax
inc edx
movzx ecx, word [esi + 0x34]
mov eax, dword [ebp + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0x2c], eax
mov esi, dword [esi + 0x14]
cmp edx, edi
jl 0x1004ad10
jmp 0x1004ad36
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp + 0x2c], eax
mov dword [ecx + edx*4], eax
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0x14]
test ebx, ebx
je 0x1004ada0
cmp dword [esi + 0x38], 0
je 0x1004ad6e
push dword [esi]
push str.UPSERT_not_implemented_for_virtual_table___s_
push ebp
call fcn.1003fb40
mov esi, dword [esp + 0xbc]
add esp, 0xc
jmp 0x1004a94c
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
mov dword [edx + 0x34], ecx
cmp dword [ebx], 0
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], eax
je 0x1004ada0
push ebx
push edx
push ebp
call fcn.1005b9b0
add esp, 0xc
mov bl, byte [esp + 0x13]
mov edi, dword [esp + 0x1c]
test bl, bl
je 0x1004adc5
push dword [esp + 0x28]
push 0x24
push edi
call fcn.1005c430
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x74], eax
jmp 0x1004ade2
cmp dword [esp + 0x18], 0
je 0x1004ade5
push dword [esp + 0x2c]
push 0xe
push edi
call fcn.1005c430
mov ecx, eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
add esp, 0xc
dec dword [ebp + 0x38]
test byte [esp + 0x50], 1
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x2c], eax
je 0x1004b075
movsx eax, word [esi + 0x2a]
inc eax
push eax
push ebp
call fcn.10048c20
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x50], ebx
push ebx
test eax, eax
jns 0x1004ae27
push 0xffffffffffffffff
push 0x46
push edi
call fcn.1005c490
add esp, 0x10
jmp 0x1004ae7d
cmp byte [esp + 0x17], 0
je 0x1004ae40
push eax
push dword [esp + 0x30]
push 0x5a
push edi
call fcn.1005c4f0
add esp, 0x14
jmp 0x1004ae54
mov ecx, dword [esp + 0x38]
lea eax, [eax + eax*2]
push dword [ecx + eax*8 + 4]
push ebp
call fcn.10040450
add esp, 0xc
push ebx
push 0x33
push edi
call fcn.1005c430
push ebx
push 0xffffffffffffffff
push 0x46
push edi
mov esi, eax
call fcn.1005c490
push esi
push edi
call fcn.10064d70
push ebx
push 0xf
push edi
call fcn.1005c430
add esp, 0x30
mov eax, dword [esp + 0x14]
xor edx, edx
xor esi, esi
movzx eax, word [eax + 0x2a]
mov ecx, eax
cmp dx, ax
jge 0x1004affc
lea edi, [ebx + 1]
xor ecx, ecx
or ebx, 0xffffffff
mov dword [esp + 0x20], ecx
sub ebx, dword [esp + 0x50]
mov dword [esp + 0x78], ebx
jmp 0x1004aeb0
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x1004aeea
mov edx, dword [eax + 4]
xor esi, esi
test edx, edx
jle 0x1004aeea
mov ecx, dword [eax]
add ecx, 4
lea esp, [esp]
lea eax, [ebx + edi]
cmp dword [ecx], eax
je 0x1004aedf
inc esi
add ecx, 8
cmp esi, edx
jl 0x1004aed0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xb0]
cmp byte [esp + 0x13], 0
mov edx, dword [esp + 0x34]
jne 0x1004aef9
test edx, edx
je 0x1004af02
test eax, eax
je 0x1004af1c
cmp esi, dword [eax + 4]
jl 0x1004af1c
mov eax, dword [esp + 0x14]
push edi
mov eax, dword [eax + 4]
push dword [eax + ecx + 4]
push ebp
call fcn.10040450
add esp, 0xc
jmp 0x1004afc7
cmp byte [esp + 0x13], 0
push edi
je 0x1004af3c
push esi
push dword [esp + 0x30]
push 0x5a
push dword [esp + 0x2c]
call fcn.1005c4f0
add esp, 0x14
jmp 0x1004afc7
mov ebx, dword [ebp + 8]
lea eax, [esi + esi*2]
mov eax, dword [edx + eax*8 + 4]
push eax
push ebp
mov dword [esp + 0x60], eax
call fcn.10040450
inc dword [ebp + 0x2c]
add esp, 0xc
mov ecx, dword [ebx + 0x6c]
mov ebp, dword [ebp + 0x2c]
cmp dword [ebx + 0x70], ecx
jg 0x1004af73
push 0
push ebp
push edi
push 0x4e
push ebx
call fcn.10025690
add esp, 0x14
jmp 0x1004af9e
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x54]
call fcn.10044080
mov ebx, dword [esp + 0x7c]
add esp, 4
mov cl, byte [eax]
and dword [eax + 4], 0xffffefff
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0xa4]
mov byte [eax + 0x26], cl
mov byte [eax], 0xa8
cmp dword [esp + 0xb0], 0
jne 0x1004afd2
inc esi
mov eax, dword [esp + 0x14]
inc edi
add dword [esp + 0x20], 0x10
movzx edx, word [eax + 0x2a]
lea ecx, [ebx + edi]
movsx eax, dx
cmp ecx, eax
mov ecx, dword [esp + 0x20]
jl 0x1004aeb0
mov ebx, dword [esp + 0x50]
mov ecx, edx
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x70], 0
mov esi, dword [esp + 0x14]
movzx eax, cx
jne 0x1004b01c
lea eax, [ebx + 1]
push eax
push esi
push edi
call fcn.100594e0
movzx eax, word [esi + 0x2a]
add esp, 0xc
push dword [esp + 0x2c]
cwde
mov ecx, ebx
push dword [esp + 0xb8]
sub ecx, eax
dec ecx
push ecx
push esi
push 1
push 0
push 0x78
push dword [esp + 0x60]
push ebp
call fcn.1003bbf0
movsx eax, word [esi + 0x2a]
add esp, 0x24
inc eax
cmp eax, 1
jne 0x1004b066
test ebx, ebx
je 0x1004b071
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x1004b071
movzx eax, al
mov dword [ebp + eax*4 + 0x94], ebx
inc byte [ebp + 0x13]
jmp 0x1004b071
cmp eax, dword [ebp + 0x1c]
jle 0x1004b071
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], ebx
mov bl, byte [esp + 0x13]
cmp dword [esp + 0x70], 0
jne 0x1004b2cd
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x1004b09b
push dword [esp + 0x60]
push 0
push 0x49
push edi
call fcn.1005c490
mov ecx, dword [esi + 0x38]
add esp, 0x10
mov eax, dword [esp + 0x3c]
test eax, eax
js 0x1004b166
test bl, bl
je 0x1004b0c2
mov ebx, dword [esp + 0x30]
push ebx
push eax
push dword [esp + 0x30]
push 0x5a
push edi
call fcn.1005c4f0
add esp, 0x14
jmp 0x1004b103
cmp dword [esp + 0x18], 0
je 0x1004b0e0
mov ebx, dword [esp + 0x30]
add eax, dword [esp + 0x5c]
push ebx
push eax
push 0x4e
push edi
call fcn.1005c490
add esp, 0x10
jmp 0x1004b103
mov edx, dword [esp + 0x34]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
cmp byte [eax], 0x72
jne 0x1004b0f4
test ecx, ecx
je 0x1004b170
mov ebx, dword [esp + 0x30]
push ebx
push eax
push ebp
call fcn.10040450
add esp, 0xc
cmp dword [esi + 0x38], 0
jne 0x1004b141
push ebx
push 0x33
push edi
call fcn.1005c430
push dword [esp + 0x64]
mov esi, eax
push ebx
push dword [esp + 0x4c]
push 0x79
push edi
call fcn.1005c4f0
push esi
push edi
call fcn.10064d70
add esp, 0x28
push ebx
push 0xf
push edi
call fcn.1005c430
mov esi, dword [esp + 0x3c]
add esp, 0xc
jmp 0x1004b1a4
mov eax, dword [edi + 0x6c]
add eax, 2
push eax
push ebx
push 0x32
push edi
call fcn.1005c490
add esp, 0x10
push ebx
push 0xf
push edi
call fcn.1005c430
mov esi, dword [esp + 0x3c]
add esp, 0xc
jmp 0x1004b1a4
test ecx, ecx
jne 0x1004b192
cmp byte [esp + 0x7c], cl
jne 0x1004b192
push dword [esp + 0x58]
mov esi, dword [esp + 0x34]
push esi
push dword [esp + 0x40]
push 0x79
push edi
call fcn.1005c4f0
add esp, 0x14
mov dword [esp + 0x20], 1
jmp 0x1004b1ac
mov esi, dword [esp + 0x30]
push esi
push 0
push 0x49
push edi
call fcn.1005c490
add esp, 0x10
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x58]
test eax, eax
jle 0x1004b1c6
push esi
push eax
push 0x97
push dword [ebp + 8]
call fcn.1005c490
add esp, 0x10
mov ecx, dword [esp + 0x14]
xor eax, eax
xor ebp, ebp
xor esi, esi
cmp ax, word [ecx + 0x2a]
jge 0x1004b24d
xor ebx, ebx
jmp 0x1004b1e0
mov edi, dword [esp + 0x48]
movsx eax, word [ecx + 0x28]
add edi, esi
cmp esi, eax
jne 0x1004b204
push edi
mov edi, dword [esp + 0x20]
push 0x4a
push edi
call fcn.1005c430
mov ecx, dword [esp + 0x20]
add esp, 0xc
jmp 0x1004b241
mov edx, dword [esp + 0xb0]
test edx, edx
jne 0x1004b304
mov eax, dword [ecx + 4]
test byte [eax + ebx + 0xf], 2
je 0x1004b2fe
inc ebp
mov eax, dword [ecx + 4]
push edi
push dword [eax + ebx + 4]
push dword [esp + 0xac]
call fcn.10040730
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edi, dword [esp + 0x1c]
movsx eax, word [ecx + 0x2a]
inc esi
add ebx, 0x10
cmp esi, eax
jl 0x1004b1e0
cmp dword [ecx + 0x38], 0
je 0x1004b3ca
mov esi, dword [ecx + 0x40]
test esi, esi
je 0x1004b26d
mov eax, dword [esp + 0x4c]
cmp dword [esi], eax
je 0x1004b26d
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x1004b262
mov ebp, dword [esp + 0xa4]
push ecx
push ebp
call fcn.10068600
push 0xfffffffffffffff4
push esi
mov esi, dword [esp + 0x24]
push dword [esp + 0x70]
movsx eax, word [esi + 0x2a]
add eax, 2
push eax
push 1
push 0xa
push edi
call fcn.1005c550
mov eax, dword [esp + 0xd8]
add esp, 0x24
mov edx, 2
cmp eax, 0xb
je 0x1004b2ae
mov edx, eax
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x1004b2c0
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [ebp + 0x74]
test eax, eax
jne 0x1004b2c9
mov eax, ebp
mov byte [eax + 0x15], 1
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
test edx, edx
je 0x1004b4c4
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1004b491
push 0
push 1
push edx
push 0x53
push edi
call fcn.10025690
add esp, 0x14
jmp 0x1004b4c4
mov eax, esi
sub eax, ebp
jmp 0x1004b330
mov edx, dword [edx + 4]
xor eax, eax
test edx, edx
jle 0x1004b338
mov ecx, dword [esp + 0xb0]
mov ecx, dword [ecx]
add ecx, 4
lea esp, [esp]
cmp dword [ecx], esi
je 0x1004b32c
inc eax
add ecx, 8
cmp eax, edx
jl 0x1004b320
mov ecx, dword [esp + 0x14]
test eax, eax
js 0x1004b222
cmp dword [esp + 0x24], 0
je 0x1004b222
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x1004b357
cmp eax, dword [edx + 4]
jge 0x1004b222
cmp byte [esp + 0x13], 0
je 0x1004b37c
push edi
mov edi, dword [esp + 0x20]
push eax
push dword [esp + 0x30]
push 0x5a
push edi
call fcn.1005c4f0
mov ecx, dword [esp + 0x28]
add esp, 0x14
jmp 0x1004b241
cmp dword [esp + 0x18], 0
je 0x1004b3ad
mov edx, dword [esp + 0x5c]
cmp edx, dword [esp + 0x48]
je 0x1004b23d
push edi
mov edi, dword [esp + 0x20]
add eax, edx
push eax
push 0x4f
push edi
call fcn.1005c490
mov ecx, dword [esp + 0x24]
add esp, 0x10
jmp 0x1004b241
mov ecx, dword [esp + 0x34]
lea eax, [eax + eax*2]
push edi
push dword [ecx + eax*8 + 4]
push dword [esp + 0xac]
call fcn.10040450
jmp 0x1004b236
push dword [esp + 0xb8]
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x58]
mov esi, dword [esp + 0x64]
push 0
push eax
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xb0]
push ebx
push dword [esp + 0xc4]
shr eax, 0x1f
xor al, 1
movzx eax, al
push eax
push 0
push esi
push dword [esp + 0x84]
push dword [esp + 0x5c]
push dword [esp + 0x68]
push ecx
push ebp
call fcn.100469c0
push 0
push 0
push esi
mov esi, dword [esp + 0x54]
push 0
push esi
push ebp
call fcn.10045ad0
add esp, 0x4c
cmp dword [esp + 0x54], 0
je 0x1004b466
cmp dword [esp + 0x44], 0
jne 0x1004b462
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x1004b466
mov eax, dword [esi + 0x48]
push 0
push dword [esi]
add eax, 0x38
push eax
call fcn.10021270
add esp, 0xc
cmp dword [eax + 8], 0
je 0x1004b466
xor eax, eax
jmp 0x1004b46b
mov eax, 1
push eax
push dword [esp + 0x24]
push 0
push dword [esp + 0x4c]
push dword [esp + 0x70]
push dword [esp + 0x78]
push dword [esp + 0x50]
push esi
push ebp
call fcn.1003c5f0
add esp, 0x24
jmp 0x1004b2d1
mov ebx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x53
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x44]
test edx, edx
je 0x1004b4f3
movsx eax, word [esi + 0x2a]
mov ecx, dword [esp + 0x48]
push ebx
push dword [esp + 0xb8]
sub ecx, eax
sub ecx, 2
push ecx
push esi
push 2
push 0
push 0x78
push edx
push ebp
call fcn.1003bbf0
add esp, 0x24
mov ecx, dword [edi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1004b50d
push ebx
push edi
push ecx
call fcn.10031450
add esp, 0xc
jmp 0x1004b516
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + ebx*4], eax
cmp byte [esp + 0x13], 0
je 0x1004b5a9
push dword [esp + 0x68]
mov ebx, dword [esp + 0x2c]
push ebx
push 5
push edi
call fcn.1005c490
mov ecx, dword [esp + 0x7c]
add esp, 0x10
mov edx, dword [edi + 0x6c]
test ecx, ecx
jns 0x1004b543
lea ecx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
je 0x1004b552
mov eax, 0x10095994
jmp 0x1004b55b
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1004b578
push 0
push 0
push ebx
push 0x75
push edi
call fcn.10025690
add esp, 0x14
jmp 0x1004b5e6
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1004b5e6
cmp dword [esp + 0x18], 0
je 0x1004b5e6
push dword [esp + 0x68]
push edi
call fcn.10064950
mov ecx, dword [esp + 0x74]
add esp, 8
mov edx, dword [edi + 0x6c]
test ecx, ecx
jns 0x1004b5cb
lea ecx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
je 0x1004b5da
mov eax, 0x10095994
jmp 0x1004b5e3
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [ebp + 0x12], 0
jne 0x1004b601
cmp dword [ebp + 0x78], 0
jne 0x1004b601
cmp dword [ebp + 0x70], 0
je 0x1004b601
push ebp
call fcn.10014100
add esp, 4
mov edx, dword [esp + 0x74]
test edx, edx
je 0x1004a93e
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1004b627
push 0
push 1
push edx
push 0x51
push edi
call fcn.10025690
add esp, 0x14
jmp 0x1004b656
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x51
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 1
push edi
call fcn.100675f0
mov eax, dword [edi]
add esp, 8
cmp byte [eax + 0x51], 0
jne 0x1004a93e
push 0
push 1
push 0xffffffffffffffff
push str.rows_inserted
push dword [edi + 0x74]
call fcn.10065ef0
add esp, 0x14
jmp 0x1004a93e
mov edi, dword [esp + 0xac]
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
jmp 0x1004a950
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
jmp 0x1004a950
cmp ebx, dword [ebp + 0x138]
jb 0x1004b6d9
cmp ebx, dword [ebp + 0x13c]
jae 0x1004b6d9
mov eax, dword [ebp + 0x134]
mov dword [ebx], eax
mov dword [ebp + 0x134], ebx
jmp 0x1004b6e2
push ebx
call sym.sqlite3.dll_sqlite3_free
add esp, 4
test edi, edi
je 0x1004b6f2
push 1
push edi
push ebp
call fcn.10018b80
add esp, 0xc
push esi
push ebp
call fcn.10049a40
mov ecx, dword [esp + 0x48]
add esp, 8
test ecx, ecx
je 0x1004b758
test ebp, ebp
je 0x1004b74f
cmp dword [ebp + 0x1e8], 0
je 0x1004b726
push ecx
push ebp
call fcn.100281e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret
cmp ecx, dword [ebp + 0x138]
jb 0x1004b74f
cmp ecx, dword [ebp + 0x13c]
jae 0x1004b74f
mov eax, dword [ebp + 0x134]
pop edi
pop esi
mov dword [ecx], eax
mov dword [ebp + 0x134], ecx
pop ebp
pop ebx
add esp, 0x90
ret
push ecx
call sym.sqlite3.dll_sqlite3_free
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret