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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x140
mov dword [ebp - 0x124], edx
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xb0], eax
mov esi, dword [ebp + 8]
mov edi, dword [ecx]
mov dword [ebp - 0xd4], ecx
cmp dword [ecx + 0x24], eax
mov dword [ebp - 0x104], edi
jne 0x10052e05
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0x130], 0
test esi, esi
je 0x10051766
test byte [esi + 5], 2
je 0x10051768
cmp dword [esi + 0x34], 0
jne 0x10051768
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x130], eax
mov dword [esi + 0x1c], 0
mov ecx, edi
mov edx, esi
push 1
call fcn.10021580
add esp, 4
xor esi, esi
mov dword [ebp - 0x110], esi
mov edi, dword [ebp - 0x124]
mov eax, dword [edi + 8]
test eax, eax
jne 0x10051d16
lea esi, [edi + 0xc]
mov ecx, dword [ebp - 0xd4]
xor edx, edx
push dword [esi]
push dword [edi + 0x10]
call fcn.10038b60
add esp, 8
mov ebx, eax
mov edx, dword [edi + 0x18]
test edx, edx
mov esi, edi
jne 0x10051cf2
mov dword [esi + 0x18], ebx
test ebx, ebx
mov edi, dword [ebp - 0x104]
je 0x10052de0
inc dword [ebx + 0x18]
lea eax, [esi + 8]
mov dword [ebp - 0x108], eax
test byte [esi + 0x30], 2
jne 0x10052e19
mov ecx, dword [ebx + 0x3c]
mov eax, dword [edi + 0x10]
test ecx, ecx
je 0x10052e33
lea edx, [eax + 0xc]
xor edi, edi
dec edi
inc edi
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x100517e1
mov dword [ebp - 0xec], edi
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x164]
test ecx, ecx
mov dword [ebp - 0xdc], ebx
jne 0x10052e3d
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x140], eax
cmp dword [ebx + 0x38], 0
mov edi, dword [ebp - 0x110]
jne 0x10051848
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x1005183a
cmp dword [eax + 0x30], 0
jne 0x10051848
mov dword [ebp - 0xd0], 0
xor eax, eax
jmp 0x10051872
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x9f], 0
jne 0x1005183a
lea eax, [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
push eax
push 0
push 0x7f
call fcn.10054350
add esp, 0xc
mov cl, byte [ebx + 0x2b]
mov byte [ebp - 0xfd], cl
cmp cl, 1
je 0x10052d1c
cmp word [ebx + 0x22], 0
jle 0x10052d1c
mov esi, dword [ebp - 0xd4]
mov ecx, esi
mov edx, ebx
mov dword [ebp - 0x12c], eax
push eax
call fcn.10053bb0
add esp, 4
test eax, eax
jne 0x10052de0
mov eax, dword [esi + 8]
test eax, eax
mov edx, dword [ebp - 0xec]
je 0x10051cc6
cmp byte [esi + 0x12], 0
jne 0x100518ce
or byte [eax + 0x98], 0x10
mov dword [ebp - 0xe0], eax
mov eax, edi
or eax, dword [ebp - 0x12c]
setne bl
mov edi, dword [esi + 0x78]
test edi, edi
cmove edi, esi
mov eax, dword [edi + 0x58]
xor esi, esi
inc esi
mov dword [ebp - 0x134], esi
mov ecx, edx
shl esi, cl
bt eax, edx
jb 0x1005190a
or eax, esi
mov dword [edi + 0x58], eax
cmp edx, 1
je 0x100523d0
or dword [edi + 0x54], esi
or byte [edi + 0x14], bl
cmp dword [ebp + 0xc], 0
mov ebx, dword [ebp - 0x110]
jne 0x1005192d
test ebx, ebx
je 0x1005192d
cmp dword [ebp - 0x12c], 0
je 0x100535b3
mov edi, dword [ebp - 0xd4]
mov ecx, edi
mov ebx, dword [ebp - 0xdc]
push ebx
call fcn.10053cd0
add esp, 4
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
movsx ecx, word [ebx + 0x22]
add ecx, eax
inc ecx
mov dword [edi + 0x2c], ecx
cmp byte [ebx + 0x2b], 1
mov dword [ebp - 0x138], edx
mov dword [ebp - 0xe4], edx
je 0x10052ec6
movzx eax, word [ebx + 0x1c]
test eax, 0x440
sete al
mov dword [ebp - 0xf8], eax
xor eax, eax
dec eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10051b46
mov byte [eax + 4], 1
mov esi, dword [eax]
test esi, esi
jle 0x10051b46
lea eax, [esi + 3]
and eax, 0xfffffffc
lea ecx, [esi - 1]
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqa xmm1, xmmword [0x101b12b0]
xor ecx, ecx
movdqa xmm2, xmmword [0x101b12c0]
pxor xmm0, xmm2
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x101b1310]
movdqa xmm5, xmm1
pxor xmm5, xmm2
pcmpgtd xmm5, xmm0
movd edx, xmm5
not edx
test dl, 1
je 0x100519fa
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*8 + 0xc], 0xffffffff
pxor xmm5, xmm3
pextrw edx, xmm5, 2
test dl, 1
je 0x10051a13
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*8 + 0x14], 0xffffffff
pextrw edx, xmm5, 4
test dl, 1
je 0x10051a28
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*8 + 0x1c], 0xffffffff
pextrw edx, xmm5, 6
test dl, 1
je 0x10051a3d
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*8 + 0x24], 0xffffffff
add ecx, 4
paddd xmm1, xmm4
cmp eax, ecx
jne 0x100519d8
movzx ecx, word [ebx + 0x22]
xor eax, eax
dec eax
mov dword [ebp - 0xf4], eax
xor edx, edx
mov dword [ebp - 0x120], esi
movsx edi, cx
test di, di
mov dword [ebp - 0xf0], edx
jle 0x10052d3a
mov dword [ebp - 0x114], edi
mov word [ebp - 0x118], cx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*8 + 8]
mov dword [ebp - 0xd8], eax
xor esi, esi
mov edi, esi
shl edi, 4
mov eax, dword [ebp - 0xfc]
mov ebx, dword [eax + edi]
xor ecx, ecx
mov eax, dword [ebp - 0xd8]
movzx edx, byte [eax + ecx]
movzx eax, byte [ebx + ecx]
cmp dl, al
jne 0x10051abd
test edx, edx
je 0x10051ad9
inc ecx
jmp 0x10051aa4
mov dl, byte [edx + 0x101b1828]
cmp dl, byte [eax + 0x101b1828]
je 0x10051aba
inc esi
cmp esi, dword [ebp - 0x114]
jne 0x10051a94
jmp 0x10052d5b
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xf0]
mov dword [eax + edx*8 + 0xc], esi
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebx + 4]
test byte [eax + edi + 0xe], 0x60
jne 0x10052dca
movsx eax, word [ebx + 0x20]
cmp esi, eax
mov eax, dword [ebp - 0xf4]
cmove eax, edx
mov dword [ebp - 0xf4], eax
cmp edx, esi
mov eax, dword [ebp - 0xf8]
movzx eax, al
mov ecx, 0
cmovne eax, ecx
movzx ecx, word [ebx + 0x22]
movsx edi, cx
cmp esi, edi
jge 0x10052d47
mov dword [ebp - 0xf8], eax
mov esi, dword [ebp - 0x120]
inc edx
cmp edx, esi
jne 0x10051a5d
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x110], 0
jne 0x100527d6
mov esi, dword [ebp - 0x104]
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x68], xmm0
movdqu xmmword [ebp - 0x74], xmm0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x128], 0
mov dword [ebp - 0xf0], 0
mov edi, dword [ebp - 0x130]
test edi, edi
je 0x10051bb5
mov eax, dword [edi]
mov dword [ebp - 0xf0], eax
lea ecx, [ebp - 0x78]
mov edx, edi
call fcn.10031420
test eax, eax
jne 0x100530e4
xor eax, eax
dec eax
mov dword [ebp - 0xe8], eax
mov al, 1
mov dword [ebp - 0x114], eax
mov edi, esi
cmp dword [ebp + 0xc], 0
jne 0x10051c0a
cmp dword [ebp - 0xf0], 0
jle 0x10051c0a
movsx edx, word [ebx + 0x20]
mov eax, dword [ebx + 0x1c]
mov ecx, edx
mov dword [ebp - 0xf4], edx
test edx, edx
jns 0x10053500
xor edx, edx
movsx ecx, word [ebx + 0x22]
test al, 0x62
jne 0x10053559
sub ecx, edx
cmp dword [ebp - 0xf0], ecx
jne 0x1005358e
cmp dword [ebp + 0xc], 0
je 0x10051c21
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp dword [ebp - 0xf0], eax
jne 0x10053605
xor eax, eax
test byte [edi + 0x24], 1
mov esi, 0
jne 0x10052ede
cmp byte [ebp - 0xfd], 2
mov dword [ebp - 0x120], esi
je 0x10051db9
sub esp, 0x18
lea eax, [ebp - 0xb0]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0x10], eax
movdqa xmm0, xmmword [0x101b1360]
movdqu xmmword [esp], xmm0
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
call fcn.10053e10
add esp, 0x18
mov dword [ebp - 0xd8], eax
lea edx, [eax*4 + 8]
movzx eax, word [edi + 0x12c]
cmp edx, eax
ja 0x10051d34
cmp edx, 0x80
ja 0x10051d5a
mov eax, dword [edi + 0x150]
test eax, eax
je 0x10051d4c
mov ecx, eax
mov eax, dword [eax]
mov dword [edi + 0x150], eax
inc dword [edi + 0x138]
mov edi, ecx
jmp 0x10051d92
cmp dword [esi + 0x78], 0
jne 0x10051cd8
mov eax, dword [esi]
test byte [eax + 0x50], 8
jne 0x10051cd8
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.1002fa90
test eax, eax
mov edx, dword [ebp - 0xec]
jne 0x100518c1
jmp 0x10052de0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
cmp dword [ecx + 0x208], 0
jne 0x10051d0c
dec dword [edx + 0x18]
jne 0x100517a6
call fcn.10017c60
jmp 0x100517a6
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add ecx, 0xfffffff0
lea esi, [ecx + 0x10]
cmp dword [ecx + 0x1c], eax
mov ecx, esi
je 0x10051782
jmp 0x10051d24
cmp dword [edi + 0x128], 0
je 0x10052b77
cmp byte [edi + 0x57], 0
je 0x10051d7c
jmp 0x10052de0
mov eax, dword [edi + 0x14c]
test eax, eax
jne 0x10052aec
mov eax, dword [edi + 0x148]
test eax, eax
jne 0x100527b4
mov eax, dword [edi + 0x144]
test eax, eax
jne 0x10052b68
inc dword [edi + 0x140]
mov ecx, edi
push 0
call fcn.101372d0
add esp, 4
mov edi, eax
test eax, eax
je 0x10052de0
cmp dword [ebp - 0xd8], 0
jg 0x1005222e
mov ebx, dword [ebp - 0xd4]
mov eax, dword [ebx + 0x2c]
xor ecx, ecx
inc eax
mov dword [ebx + 0x2c], eax
mov dword [edi + ecx*4], eax
mov eax, edi
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], eax
cmp dword [ebp + 0x14], 0
jne 0x10052522
cmp byte [ebp - 0x114], 0
je 0x100529d3
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
cmp dword [ebp - 0x110], 0
jne 0x100530fc
cmp word [ebx + 0x22], 0
jle 0x10051f98
xor esi, esi
mov dword [ebp - 0xec], 0
mov edx, dword [ebp - 0x118]
movsx eax, word [ebx + 0x20]
cmp esi, eax
je 0x1005232d
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebx + 4]
mov edx, esi
shl edx, 4
movzx eax, word [ecx + edx + 0xe]
test al, 0x62
jne 0x10052c76
cmp dword [ebp + 0xc], 0
je 0x10051e8c
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
test edi, edi
jle 0x10051e5e
xor eax, eax
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + eax*8 + 0xc], esi
je 0x10051f08
inc eax
cmp edi, eax
jne 0x10051e4c
movzx eax, word [ecx + edx + 0xc]
xor edx, edx
test eax, eax
jne 0x10051f69
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
push edi
call fcn.10053af0
mov edx, edi
add esp, 4
jmp 0x10051ef5
cmp dword [ebp - 0xf0], 0
je 0x10052c92
mov eax, esi
sub eax, dword [ebp - 0xec]
cmp byte [ebp - 0x114], 0
je 0x1005236d
mov dword [ebp - 0xfc], esi
cmp dword [ebp - 0x110], 0
jne 0x10052ccf
mov esi, ebx
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 0x130]
mov edi, dword [ecx + eax*4 + 8]
mov ecx, dword [ebp - 0xd4]
mov edx, edi
mov ebx, dword [ebp - 0xd8]
push ebx
call fcn.10033d60
add esp, 4
cmp eax, ebx
jne 0x10051f10
mov edx, ebx
mov ebx, esi
mov esi, dword [ebp - 0xfc]
inc esi
inc edx
movsx eax, word [ebx + 0x22]
cmp esi, eax
jl 0x10051e14
jmp 0x10051f98
mov ebx, dword [ebp - 0xdc]
jmp 0x10051ea1
xor edx, edx
test byte [edi + 6], 0x40
sete dl
or edx, 0x50
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], ebx
jle 0x10052afb
lea edi, [ebx + 1]
mov dword [ecx + 0x6c], edi
mov edi, dword [ecx + 0x68]
lea ecx, [ebx + ebx*4]
mov byte [edi + ecx*4], dl
mov word [edi + ecx*4 + 2], 0
mov dword [edi + ecx*4 + 4], eax
mov edx, dword [ebp - 0xd8]
mov dword [edi + ecx*4 + 8], edx
xor eax, eax
mov dword [edi + ecx*4 + 0xc], eax
mov dword [edi + ecx*4 + 0x10], eax
mov byte [edi + ecx*4 + 1], 0
mov ebx, dword [ebp - 0xdc]
jmp 0x10051eef
mov ebx, dword [ebp - 0xdc]
cmp byte [ebx + 0x2b], 0
jne 0x10051e73
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x10051e73
cmp dword [ecx], eax
jl 0x10051e73
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
jmp 0x10051e73
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0xfc], ecx
dec ecx
mov dword [ebp - 0xd8], ecx
mov dword [eax + 0x38], ecx
test byte [ebp - 0xd0], 1
jne 0x10052f4c
cmp byte [ebp - 0xfd], 2
mov esi, dword [ebp - 0x110]
je 0x1005212a
cmp byte [ebx + 0x2b], 1
je 0x10052f9f
cmp dword [ebp - 0xf4], 0
jns 0x100523e2
cmp byte [ebx + 0x2b], 1
je 0x1005226a
and dword [ebp - 0x140], 0x80
jne 0x1005226a
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jle 0x10052aca
lea edx, [esi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4], 0x7f
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp - 0x11c]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
test eax, eax
jg 0x10052fc1
test byte [ebx + 0x1c], 0x60
jne 0x10052fe7
cmp byte [ebx + 0x2b], 1
mov edx, ebx
je 0x10053001
xor esi, esi
lea eax, [ebp - 0x78]
mov dword [eax], esi
mov ecx, dword [ebp + 0x10]
movzx ebx, cl
mov edi, dword [ebp - 0xf4]
not edi
shr edi, 0x1f
mov ecx, dword [ebp - 0xd4]
push dword [ebp + 0x14]
push esi
push eax
push dword [ebp - 0xd8]
push ebx
push edi
push esi
push dword [ebp - 0x138]
push dword [ebp - 0xb0]
push dword [ebp - 0xac]
push dword [ebp - 0xf8]
call fcn.10054cb0
add esp, 0x2c
mov edi, dword [ebp - 0x104]
test byte [edi + 0x21], 0x40
je 0x100520e0
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xdc]
push esi
push esi
push dword [ebp - 0x138]
push esi
call fcn.10054640
add esp, 0x10
cmp dword [ebp - 0x78], 0
mov esi, dword [ebp - 0x110]
jne 0x100523b9
xor eax, eax
inc eax
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
push eax
push dword [ebp - 0x134]
push 0
push dword [ebp - 0xf8]
push dword [ebp - 0x138]
push dword [ebp - 0xb0]
push dword [ebp - 0xac]
call fcn.100540a0
add esp, 0x1c
cmp dword [ebp - 0x120], 0
mov edx, dword [ebp - 0x12c]
jne 0x1005309e
test edx, edx
jne 0x100522f6
mov ebx, dword [ebp - 0xe0]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0xfc]
neg edx
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
jns 0x10052220
mov eax, edx
mov edx, ebx
push eax
call fcn.100329e0
add esp, 4
cmp byte [ebp - 0x114], 0
mov eax, dword [ebp - 0xf8]
je 0x10052a24
test esi, esi
jne 0x10053169
mov esi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x12], 0
jne 0x100521ac
cmp dword [ecx + 0x7c], 0
jne 0x100521ac
cmp dword [ecx + 0x74], 0
jne 0x10053639
test esi, esi
jne 0x100530c6
mov ebx, eax
mov edi, dword [ebp - 0x104]
mov ecx, edi
mov edx, dword [ebp - 0x124]
call fcn.10021750
mov edx, dword [ebp - 0x130]
test edx, edx
je 0x100521da
mov ecx, edi
call fcn.10021700
mov esi, dword [ebp - 0x110]
mov edx, dword [ebp + 0x14]
test edx, edx
jne 0x10052516
test esi, esi
jne 0x100527c3
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x100522bc
test ebx, ebx
je 0x1005220b
mov edx, ebx
mov ecx, edi
call fcn.1014f290
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
add esp, 0x140
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edx*4], eax
jmp 0x1005216f
mov ecx, ebx
add ecx, 8
mov ebx, dword [ebp - 0xd4]
mov eax, dword [ebx + 0x2c]
xor edx, edx
mov ecx, dword [ecx]
inc eax
mov dword [ebx + 0x2c], eax
mov esi, edi
mov dword [edi + edx*4], eax
movzx eax, word [ecx + 0x34]
add eax, dword [ebx + 0x2c]
mov dword [ebx + 0x2c], eax
add ecx, 0x14
inc edx
cmp dword [ebp - 0xd8], edx
jne 0x1005223e
mov ecx, dword [ebp - 0xd8]
jmp 0x10051daa
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x10052b14
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x4b
xor esi, esi
mov dword [ecx + eax*4 + 4], esi
mov edx, dword [ebp - 0xe4]
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ebp - 0x134], 0
mov dword [ecx + eax*4 + 0x10], esi
mov eax, dword [ebp - 0x11c]
jmp 0x1005204d
mov eax, dword [eax]
test eax, eax
jle 0x100522e1
xor esi, esi
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + esi*8 + 8]
test edx, edx
je 0x100522dc
mov ecx, dword [ebp - 0x104]
call fcn.10129dd0
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x100522c4
mov edi, dword [ebp - 0x104]
mov ecx, edi
mov edx, dword [ebp + 0xc]
call fcn.1014f290
jmp 0x100521fe
movsx eax, word [ebx + 0x22]
not eax
mov ebx, dword [ebp - 0xe4]
add ebx, eax
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0xd8]
push dword [ebp + 0x10]
push ebx
push dword [ebp - 0xdc]
push 2
push 0
push 0x7f
call fcn.1005af00
add esp, 0x1c
jmp 0x10052145
mov edi, edx
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x10052b3a
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x4c
mov dword [ecx + eax*4 + 4], edi
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov edx, edi
jmp 0x10051ef5
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edi
jle 0x10052b53
lea edx, [edi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4], 0x5e
mov edi, dword [ebp - 0xe8]
mov dword [edx + ecx*4 + 4], edi
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp - 0xd8]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov edx, eax
jmp 0x10051ef5
xor eax, eax
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + 0xe0], 0
sete al
jmp 0x100520f3
mov ecx, edi
call fcn.10042980
mov edx, dword [ebp - 0xec]
jmp 0x1005190a
cmp byte [ebp - 0x114], 0
je 0x100538c6
test esi, esi
mov ecx, dword [ebp - 0x130]
jne 0x10052423
mov eax, dword [ebp - 0xf4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
cmp byte [edx], 0x79
je 0x100538f0
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0xe4]
call fcn.10020f70
add esp, 4
cmp byte [ebx + 0x2b], 1
mov esi, dword [ebp - 0xe0]
mov edi, dword [esi + 0x6c]
je 0x10053922
cmp dword [esi + 0x70], edi
jle 0x10052b9d
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4], 0x33
mov edx, dword [ebp - 0xe4]
mov dword [eax + ecx*4 + 4], edx
xor edx, edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebp - 0xac]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jle 0x10052bbd
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x7f
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp - 0x11c]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x10053942
lea ecx, [edi + edi*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x10052b82
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0xd
mov edx, dword [ebp - 0xe4]
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ebp - 0x134], 0
mov dword [ecx + eax*4 + 0x10], edx
jmp 0x100522b1
mov ecx, edi
call fcn.100545d0
jmp 0x100521eb
movzx eax, byte [ebx + 0x2b]
cmp eax, 2
je 0x10053989
cmp eax, 1
je 0x100539a1
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x10052559
mov ecx, dword [eax]
test ecx, ecx
jle 0x10052559
add eax, 0x14
test byte [eax], 0x20
jne 0x1005394c
add eax, 0x14
dec ecx
jne 0x1005254a
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x124]
mov dword [ecx + 0x34], eax
lea esi, [ebp - 0xa8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x124]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x118]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xac]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 0x2c], eax
cmp dword [ecx], 0
je 0x100527a4
pxor xmm0, xmm0
movdqu xmmword [ebp - 0xa0], xmm0
xor eax, eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x144], ecx
mov edx, dword [ecx]
test edx, edx
je 0x1005279e
mov dword [ebp - 0xec], ecx
mov ecx, esi
call fcn.10031420
test eax, eax
jne 0x100538a3
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 4]
mov ecx, esi
call fcn.10031340
test eax, eax
jne 0x100538a3
mov ecx, dword [ebp - 0x124]
mov eax, dword [ecx + 0x18]
mov esi, dword [ecx + 0x34]
mov edx, dword [ebp - 0xec]
mov ecx, dword [edx]
mov dword [ebp - 0x10c], ecx
test byte [eax + 0x1c], 0x80
je 0x1005278a
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x78], xmm0
movdqu xmmword [ebp - 0x48], xmm0
movdqu xmmword [ebp - 0x28], xmm0
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
movdqu xmmword [ebp - 0x38], xmm0
movdqu xmmword [ebp - 0x58], xmm0
movdqu xmmword [ebp - 0x68], xmm0
mov byte [ebp - 0x78], 0x71
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x6c], ecx
mov byte [ebp - 0x44], 0xa7
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x28], esi
mov esi, dword [eax + 8]
test esi, esi
je 0x1005275f
mov eax, dword [ebp - 0x10c]
add eax, 8
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0xd8], esi
cmp byte [esi + 0x36], 0
je 0x10053842
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd8]
movzx eax, word [eax + 0x32]
mov dword [ebp - 0xfc], ecx
cmp ecx, eax
jne 0x10053842
mov edi, dword [ebp - 0xd8]
mov esi, dword [edi + 0x24]
test esi, esi
jne 0x10053804
test ax, ax
je 0x10052756
xor ebx, ebx
mov eax, dword [edi + 0x20]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 4]
cmp word [eax + ebx*2], 0xfffe
je 0x100537e7
lea eax, [ebp - 0x44]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi + 4]
movzx eax, word [eax + ebx*2]
mov word [ebp - 0x24], ax
lea esi, [ebp - 0x78]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x148], ecx
mov edi, dword [ebp - 0x14c]
mov edx, dword [edi]
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0x108]
push esi
call fcn.100317c0
add esp, 8
cmp eax, 1
jle 0x10052747
add edi, 0x14
dec dword [ebp - 0x148]
jne 0x1005271b
jmp 0x10053842
inc ebx
cmp ebx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0xd8]
jne 0x100526de
mov edx, dword [ebp - 0xec]
mov dword [edx + 0x1c], edi
cmp dword [edx + 0x1c], 0
mov ebx, dword [ebp - 0xdc]
je 0x1005385e
mov edx, dword [edx + 0x10]
inc dword [ebp - 0x13c]
test edx, edx
mov ecx, edx
lea esi, [ebp - 0xa8]
jne 0x100525e0
jmp 0x1005279e
mov ecx, dword [ebp - 0x10c]
cmp dword [ecx], 1
jne 0x1005263b
jmp 0x10053a80
mov ecx, dword [ebp - 0x144]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x10051dc9
jmp 0x10052571
mov ecx, eax
mov eax, dword [eax]
mov dword [edi + 0x148], eax
jmp 0x10051cb9
mov ecx, edi
mov edx, esi
push 1
call fcn.10021580
add esp, 4
jmp 0x100521f3
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x6c]
lea edi, [edx + 1]
lea eax, [edx + edx*4]
cmp dword [ecx + 0x70], edx
mov dword [ebp - 0xfc], eax
jle 0x10052bde
mov dword [ecx + 0x6c], edi
mov ecx, dword [ecx + 0x68]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], esi
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edi
mov dword [ecx + eax*4 + 0x10], edx
xor eax, eax
cmp byte [ebp - 0xf8], 0
mov ecx, dword [ebp - 0x118]
cmove ecx, eax
lea eax, [ebp - 0xcc]
mov byte [eax], 0xd
mov dword [ebp - 0xd8], esi
mov dword [eax + 4], esi
pxor xmm0, xmm0
movdqu xmmword [eax + 8], xmm0
mov dword [eax + 0xc], ecx
movsx ecx, word [ebx + 0x22]
mov dword [eax + 0x10], ecx
mov edi, dword [ebp - 0xd4]
mov ecx, edi
mov edx, dword [ebp - 0x110]
push eax
call fcn.10027e50
add esp, 4
test eax, eax
jne 0x10052de0
cmp dword [edi + 0x24], 0
mov eax, 0
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xfc]
jne 0x100521b4
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x10052bf4
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x44
mov edx, dword [ebp - 0xd8]
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [edi + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x1c], 0
mov ecx, dword [edi]
mov eax, dword [edi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x100539ad
shl esi, 2
add esi, dword [edi + 0x68]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0x12c], 0
jne 0x10053229
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 8]
test eax, eax
je 0x100539f6
mov ecx, dword [eax + 0x6c]
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xdc]
cmp byte [edx + 0x2b], 1
mov dword [ebp - 0xd8], 0
je 0x10053a16
mov dl, 1
mov dword [ebp - 0x114], edx
cmp ecx, 2
jl 0x100531b5
mov edx, dword [eax]
mov bl, byte [edx + 0x57]
xor esi, esi
inc esi
test bl, bl
jne 0x100531c6
lea edi, [esi + esi*4]
shl edi, 2
add edi, dword [eax + 0x68]
movzx edx, byte [edi]
cmp edx, 0x70
je 0x1005299b
cmp edx, 0xad
je 0x1005321a
inc esi
cmp esi, ecx
jne 0x1005296c
jmp 0x100531b5
mov edx, dword [ebp - 0xec]
cmp dword [edi + 0xc], edx
jne 0x10052991
mov edi, dword [edi + 8]
mov edx, dword [ebp - 0xdc]
cmp edi, dword [edx + 0x14]
je 0x10053229
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 8]
test edx, edx
je 0x10052991
cmp edi, dword [edx + 0x2c]
je 0x10053229
mov edx, dword [edx + 0x14]
jmp 0x100529c1
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x10052c12
mov ecx, eax
inc eax
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x108], ecx
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x24
mov edx, dword [ebp - 0xe8]
mov dword [eax + ecx*4 + 4], edx
xor edx, edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi + 0x6c]
mov dword [ebp - 0x10c], eax
jmp 0x10051df7
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x10052c36
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x27
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x10c]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov esi, dword [ebp - 0x120]
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x100539b7
mov ecx, dword [ebp - 0x108]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x10052c58
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x7a
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebp - 0xf8]
jmp 0x10052190
mov edx, 0x7f
mov esi, dword [ebp - 0x11c]
push esi
push dword [ebp - 0xe4]
push eax
call fcn.10021190
mov eax, esi
add esp, 0xc
jmp 0x1005204d
mov ecx, eax
mov eax, dword [eax]
mov dword [edi + 0x14c], eax
jmp 0x10051cb9
push 0
mov edi, dword [ebp - 0xd8]
push edi
push eax
call fcn.10021190
mov edx, edi
add esp, 0xc
jmp 0x10051f61
xor eax, eax
mov edx, 0x4b
push eax
push dword [ebp - 0xe4]
mov dword [ebp - 0x134], 0
push eax
call fcn.10021190
add esp, 0xc
jmp 0x100522b1
xor eax, eax
mov edx, 0x4c
push eax
push eax
push edi
call fcn.10021190
mov edx, edi
add esp, 0xc
jmp 0x10051ef5
mov edx, 0x5e
mov edi, dword [ebp - 0xd8]
push edi
push eax
push dword [ebp - 0xe8]
jmp 0x10052b44
mov ecx, eax
mov eax, dword [eax]
mov dword [edi + 0x144], eax
jmp 0x10051cb9
inc dword [edi + 0x13c]
jmp 0x10051d7c
xor eax, eax
mov edx, 0xd
push eax
mov dword [ebp - 0x134], 0
push eax
push dword [ebp - 0xe4]
jmp 0x10052b2d
xor eax, eax
mov ecx, esi
mov edx, 0x33
push eax
push eax
push dword [ebp - 0xe4]
call fcn.10021190
add esp, 0xc
mov edi, eax
jmp 0x1005246a
mov ecx, esi
mov edx, 0x7f
push dword [ebp - 0x11c]
push dword [ebp - 0xe4]
push eax
call fcn.10021190
add esp, 0xc
jmp 0x100524af
mov edx, 0xb
push edi
push 0
push esi
call fcn.10021190
add esp, 0xc
jmp 0x10052820
xor eax, eax
mov ecx, edi
mov edx, 0x44
push eax
push eax
push dword [ebp - 0xd8]
call fcn.10021190
add esp, 0xc
jmp 0x100528d4
xor eax, eax
mov ecx, esi
mov edx, 0x24
push eax
push eax
push dword [ebp - 0xe8]
call fcn.10021190
add esp, 0xc
mov dword [ebp - 0x108], eax
jmp 0x10052a16
mov ecx, ebx
mov edx, 0x27
push 0
push dword [ebp - 0x10c]
push dword [ebp - 0xe8]
call fcn.10021190
add esp, 0xc
jmp 0x10052a61
xor eax, eax
mov ecx, ebx
mov edx, 0x7a
push eax
push eax
push dword [ebp - 0xe8]
call fcn.10021190
add esp, 0xc
jmp 0x10052abf
inc dword [ebp - 0xec]
test al, 0x20
jne 0x10052cee
test al, 0x40
jne 0x10052de7
cmp dword [ebp + 0xc], 0
jne 0x10051e41
movzx eax, word [ecx + edx + 0xc]
xor edx, edx
test eax, eax
je 0x10052cad
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x2b], 0
je 0x100531d0
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
push edi
call fcn.10053af0
mov edx, edi
add esp, 4
mov ebx, dword [ebp - 0xdc]
jmp 0x10051ef5
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x118]
jne 0x10052cf7
mov ebx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x10051eef
mov edx, dword [ebp - 0xd8]
dec edx
jmp 0x10052cc4
add eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0xe0]
mov edx, 0x51
push 0
mov edi, dword [ebp - 0xd8]
push edi
push eax
call fcn.10030110
jmp 0x10052b0a
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
mov esi, eax
call fcn.10171cd0
test eax, eax
mov eax, esi
je 0x1005188f
jmp 0x10052de0
xor esi, esi
mov eax, dword [ebp - 0xf8]
jmp 0x10051b29
mov word [ebp - 0x118], cx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*8 + 8]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
call fcn.10162250
mov dword [ebp - 0xf8], 0
test eax, eax
mov ebx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0xf0]
movzx ecx, word [ebp - 0x118]
je 0x10052da4
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xf4], edx
and eax, 0x80
je 0x10051b3d
push dword [ebp - 0xd8]
push dword [ebp - 0x108]
push str.table__S_has_no_column_named__s
mov esi, dword [ebp - 0xd4]
push esi
call fcn.10046a40
add esp, 0x10
mov byte [esi + 0x11], 1
jmp 0x10052de0
push dword [eax + edi]
push str.cannot_INSERT_into_generated_column___s_
push dword [ebp - 0xd4]
call fcn.10046a40
add esp, 0xc
xor eax, eax
jmp 0x100521b4
test byte [ebp - 0xd0], 1
jne 0x100531f5
mov ebx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x10051ef5
xor ebx, ebx
mov ecx, edi
mov edx, dword [ebp - 0x124]
call fcn.10021750
jmp 0x100521e0
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x108]
call fcn.10171be0
test eax, eax
jne 0x10052de0
jmp 0x100517cd
mov edi, 0xffff8000
jmp 0x100517eb
cmp byte [edx + 0xb1], 0
jne 0x1005180d
mov esi, dword [ebp - 0xd4]
cmp byte [esi + 0xd8], 0
jne 0x1005180d
mov esi, dword [ebp - 0xec]
shl esi, 4
mov esi, dword [eax + esi]
mov edi, dword [ebx]
mov eax, dword [ebp - 0xd4]
mov ebx, dword [eax + 0x100]
mov eax, dword [edx + 0x168]
mov dword [ebp - 0xd8], eax
call dword [section..00cfg]
push ebx
push esi
push 0
push edi
push 0x12
push dword [ebp - 0xd8]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x100538ae
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [ebp - 0xd4]
push edi
call fcn.10046a40
add esp, 8
mov dword [edi + 0xc], esi
jmp 0x10052de0
add eax, 2
inc ecx
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x2c], ecx
mov dword [ebp - 0xe4], eax
jmp 0x10051970
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x12], 0
mov eax, 0
jne 0x10051c32
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x7c], 0
mov eax, 0
jne 0x10051c32
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x9d], 0
mov eax, 0
jne 0x10051c32
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0x47
push eax
push esi
push eax
call fcn.10030110
xor eax, eax
add esp, 0xc
jmp 0x10051c32
movsx edx, word [ebx + 0x22]
inc edx
mov ecx, dword [ebp - 0xd4]
call fcn.10057c40
mov edi, eax
cmp dword [ebp - 0xf4], 0
js 0x10053624
cmp byte [ebp - 0x114], 0
je 0x1005364b
mov eax, dword [ebp - 0xf4]
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx + eax*4 + 8]
mov ecx, dword [ebp - 0xd4]
push edi
call fcn.10020f70
add esp, 4
jmp 0x1005366b
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0x4b
push eax
push dword [ebp - 0x138]
push eax
call fcn.10030110
add esp, 0xc
jmp 0x10051fdb
mov esi, eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
mov edx, 0x9f
push 0
push dword [ebp - 0xe4]
push esi
call fcn.10030110
add esp, 0xc
jmp 0x10052055
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x118]
push ebx
call fcn.1017a230
add esp, 4
jmp 0x1005205f
mov eax, dword [edx + 0x34]
xor esi, esi
test eax, eax
jne 0x100535eb
mov ecx, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xdc]
mov edx, ebx
call fcn.10179820
movsx eax, word [ebx + 0x22]
add eax, 2
mov ebx, dword [ebp - 0xe0]
mov ecx, ebx
mov edx, 7
push dword [ebp - 0x138]
push eax
push 1
call fcn.10030110
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffff5
push esi
call fcn.1003a6c0
add esp, 8
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x1005307b
mov edx, dword [ebp + 0x10]
cmp edx, 0xb
mov ecx, 2
cmovne ecx, edx
mov edx, dword [ebp - 0xe0]
mov edx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], cx
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x15], 1
mov esi, dword [ebp - 0x110]
mov ebx, dword [ebp - 0xdc]
jmp 0x1005212a
mov ecx, dword [ebp - 0xe0]
mov edx, 0x56
push 0
push 1
push dword [ebp - 0x120]
call fcn.10030110
mov edx, dword [ebp - 0x12c]
add esp, 0xc
jmp 0x1005213d
mov ecx, dword [ebp - 0xe0]
mov edx, esi
push str.rows_inserted
mov esi, eax
call fcn.10179890
mov eax, esi
add esp, 4
jmp 0x100521b4
mov ecx, esi
mov edx, dword [ebp - 0x124]
call fcn.10021750
xor ebx, ebx
mov edx, edi
mov edi, esi
jmp 0x100521d3
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0xc
push eax
push eax
push dword [ebp - 0xc8]
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0xf4], 0
js 0x10053152
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x128]
add eax, ecx
mov ecx, dword [ebp - 0xe0]
mov edx, 0x50
push 0
push dword [ebp - 0xe4]
push eax
call fcn.10030110
add esp, 0xc
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
mov ebx, dword [ebp - 0xdc]
jmp 0x10051df7
xor eax, eax
mov ecx, ebx
mov edx, 9
push eax
push dword [ebp - 0x10c]
push eax
call fcn.10030110
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x100531a7
mov ecx, dword [ebp - 0x108]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0xe0]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xf8]
jmp 0x1005218a
mov edi, dword [ebp - 0x104]
mov ebx, dword [ebp - 0xdc]
jmp 0x10051bc8
mov edi, 0x101f4350
jmp 0x1005297d
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x10052cad
cmp dword [ecx], eax
jl 0x10052cad
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
jmp 0x10052cad
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0x4c
push eax
push eax
mov edi, dword [ebp - 0xd8]
push edi
call fcn.10030110
mov edx, edi
add esp, 0xc
jmp 0x10052cc4
mov edx, dword [ebp - 0xd8]
cmp dword [edi + 0x10], edx
jne 0x10052991
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xe8], eax
inc eax
mov dword [edx + 0x28], eax
mov al, byte [edx + 0x13]
test al, al
jne 0x100539c1
mov esi, dword [edx + 0x2c]
inc esi
mov dword [ebp - 0xd8], esi
inc esi
mov dword [edx + 0x2c], esi
mov edi, dword [ebp - 0xe0]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x10053446
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x76
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0xf0]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebp - 0xc8]
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jle 0x10053468
lea ecx, [edx + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
mov ebx, edx
lea edx, [edx + edx*4]
mov dword [ecx + edx*4], 0xc
mov dword [ecx + edx*4 + 4], eax
xor eax, eax
mov dword [ecx + edx*4 + 8], eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x10053483
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x61
mov edx, dword [ebp - 0x128]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0xf0]
mov dword [ecx + eax*4 + 8], edx
mov edx, dword [ebp - 0xd8]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x100534a9
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x7f
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x100534c6
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x80
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0xd8]
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x100534e7
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 9
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], ebx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [edi]
mov eax, dword [edi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x100539ec
lea ecx, [ebx + ebx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
cmp dword [ebp - 0xd8], 0
mov edi, dword [ebp - 0x104]
je 0x10053410
mov eax, dword [ebp - 0xd4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x10053410
mov ecx, eax
inc cl
mov edx, dword [ebp - 0xd4]
mov byte [edx + 0x13], cl
mov ecx, dword [ebp - 0xd8]
mov dword [edx + eax*4 + 0xa0], ecx
test esi, esi
mov ebx, dword [ebp - 0xdc]
je 0x10053437
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 0x13]
cmp eax, 7
ja 0x10053437
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0xa0], esi
mov dword [ebp - 0x114], 0
jmp 0x10051bc8
mov ecx, edi
mov edx, 0x76
push 0
push dword [ebp - 0xf0]
push dword [ebp - 0xe8]
call fcn.10021190
add esp, 0xc
jmp 0x10053298
xor ebx, ebx
mov ecx, edi
mov edx, 0xc
push ebx
push ebx
push eax
call fcn.10021190
add esp, 0xc
mov ebx, eax
jmp 0x100532d1
mov ecx, edi
mov edx, 0x61
push dword [ebp - 0xd8]
push dword [ebp - 0xf0]
push dword [ebp - 0x128]
call fcn.10021190
add esp, 0xc
jmp 0x10053316
mov ecx, edi
mov edx, 0x7f
push 0
push esi
push dword [ebp - 0xe8]
call fcn.10021190
add esp, 0xc
jmp 0x1005334d
mov ecx, edi
mov edx, 0x80
push esi
push dword [ebp - 0xd8]
push dword [ebp - 0xe8]
call fcn.10021190
add esp, 0xc
jmp 0x1005338c
xor eax, eax
mov ecx, edi
mov edx, 9
push eax
push ebx
push eax
call fcn.10021190
add esp, 0xc
jmp 0x100533bd
test al, 0x60
je 0x100537cf
cmp word [ebp - 0xf4], 0
je 0x100537cf
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 4]
mov esi, dword [ebp - 0xf4]
lea ecx, [esi + 1]
shl esi, 4
add edx, esi
add edx, 0xfffffffe
mov edi, dword [ebp - 0x104]
mov bl, byte [edx]
and bl, 0x60
cmp bl, 1
mov ebx, dword [ebp - 0xdc]
adc dword [ebp - 0xf4], 0xffffffff
dec ecx
add edx, 0xfffffff0
cmp ecx, 1
jg 0x10053536
jmp 0x10051bee
test cx, cx
jle 0x10051bfc
mov eax, dword [ebx + 4]
add eax, 0xe
xor edx, edx
mov esi, ecx
mov edi, dword [ebp - 0x104]
mov bl, byte [eax]
and bl, 0x62
cmp bl, 1
mov ebx, dword [ebp - 0xdc]
sbb edx, 0xffffffff
add eax, 0x10
dec esi
jne 0x10053572
jmp 0x10051bfc
push dword [ebp - 0xf0]
push ecx
push dword [ebp - 0x108]
push str.table__S_has__d_columns_but__d_values_were_supplied
push dword [ebp - 0xd4]
call fcn.10046a40
add esp, 0x14
jmp 0x10052de0
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xdc]
push dword [ebp - 0xec]
push dword [ebp + 0x10]
push ebx
call fcn.1017a530
mov edx, dword [ebp - 0xec]
add esp, 0xc
xor esi, esi
test eax, eax
mov eax, 0
jne 0x10052190
jmp 0x1005192d
mov ecx, dword [ebp - 0x104]
cmp dword [eax], ecx
je 0x100537e0
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x100535f1
jmp 0x1005300e
push eax
push dword [ebp - 0xf0]
push 0x101cc0f4
push dword [ebp - 0xd4]
call fcn.10046a40
add esp, 0x10
jmp 0x10052de0
mov ecx, dword [ebp - 0xe0]
mov edx, 0x47
push 0
push edi
push 0xffffffffffffffff
jmp 0x100536d4
mov edi, esi
mov esi, eax
call fcn.10179900
mov eax, esi
mov esi, edi
jmp 0x100521ac
mov ecx, dword [ebp - 0xe0]
mov edx, 0x5e
push edi
push dword [ebp - 0xf4]
push dword [ebp - 0xe8]
call fcn.10030110
add esp, 0xc
xor esi, esi
mov ebx, dword [ebp - 0xe0]
mov ecx, ebx
mov edx, 0x33
push esi
push esi
push edi
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov ecx, ebx
mov edx, 0x47
push esi
push edi
push 0xffffffffffffffff
call fcn.10030110
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x100536c3
mov ecx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0xe0]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0xd
push esi
push esi
push edi
call fcn.10030110
add esp, 0xc
mov esi, dword [ebp - 0xdc]
movsx eax, word [esi + 0x24]
dec eax
lea ebx, [edi + 1]
mov ecx, dword [ebp - 0xe0]
mov edx, 0x50
push eax
push ebx
push dword [ebp - 0x118]
call fcn.10030110
add esp, 0xc
test byte [esi + 0x1c], 0x60
jne 0x1005396e
cmp byte [ebp - 0xfd], 2
je 0x1005372d
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
push ebx
call fcn.10057000
add esp, 4
mov esi, dword [ebp - 0xdc]
movsx eax, word [esi + 0x22]
not eax
add eax, edi
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x12c]
push dword [ebp - 0xd8]
push dword [ebp + 0x10]
push eax
push esi
push 1
push 0
push 0x7f
call fcn.1005af00
add esp, 0x1c
movsx eax, word [esi + 0x22]
test eax, eax
je 0x10053797
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0x1c], eax
mov ebx, dword [ebp - 0xdc]
jg 0x10051fbe
inc eax
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x1c], eax
lea eax, [ecx + 0x20]
mov dword [eax], edi
mov ebx, dword [ebp - 0xdc]
jmp 0x10051fbe
test edi, edi
mov ebx, dword [ebp - 0xdc]
je 0x10051fbe
mov eax, dword [ebp - 0xd4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x10051fbe
mov ecx, eax
inc cl
mov edx, dword [ebp - 0xd4]
mov byte [edx + 0x13], cl
lea eax, [edx + eax*4]
add eax, 0xa0
jmp 0x1005378a
mov edi, dword [ebp - 0x104]
mov ebx, dword [ebp - 0xdc]
jmp 0x10051bee
mov esi, eax
jmp 0x1005300e
mov eax, dword [edi + 0x28]
lea ecx, [ebx + ebx*4]
mov ecx, dword [eax + ecx*4 + 8]
mov esi, ecx
cmp byte [ecx], 0x71
je 0x10052709
mov dword [ebp - 0x6c], esi
jmp 0x10052706
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 4]
test edx, edx
je 0x10053842
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0x108]
push esi
call fcn.100317c0
add esp, 8
test eax, eax
jne 0x10053842
mov edi, dword [ebp - 0xd8]
movzx eax, word [edi + 0x32]
movzx ecx, ax
mov dword [ebp - 0xfc], ecx
jmp 0x100526d7
mov esi, dword [ebp - 0xd8]
mov esi, dword [esi + 0x14]
test esi, esi
mov edx, dword [ebp - 0xec]
jne 0x10052696
jmp 0x1005275f
cmp dword [ebp - 0x13c], 0
je 0x10053a51
mov ecx, dword [ebp - 0x13c]
inc ecx
lea eax, [ebp - 0x88]
push ecx
push 0x101e1c86
push eax
push 0x10
call sym.nss3.dll_sqlite3_snprintf
add esp, 0x10
lea eax, [ebp - 0x88]
push eax
push str._sON_CONFLICT_clause_does_not_match_any_PRIMARY_KEY_or_UNIQUE_constraint
push dword [ebp - 0xd4]
call fcn.10046a40
add esp, 0xc
mov eax, dword [ebp - 0xf8]
jmp 0x100521b4
test eax, 0xfffffffd
je 0x10053a6d
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x10052eae
mov ecx, dword [ebp - 0xe0]
mov edx, 0x5e
push dword [ebp - 0xe4]
push dword [ebp - 0xf4]
push dword [ebp - 0xe8]
call fcn.10030110
add esp, 0xc
jmp 0x10052423
cmp byte [ebx + 0x2b], 1
je 0x1005240f
mov ecx, dword [ebp - 0xe0]
mov edx, 0x7f
mov esi, dword [ebp - 0x11c]
push esi
push dword [ebp - 0xe4]
push dword [ebp - 0xac]
call fcn.10030110
jmp 0x10052ae2
add edi, 2
mov ecx, esi
mov edx, 0x32
push 0
push edi
push dword [ebp - 0xe4]
call fcn.10030110
add esp, 0xc
jmp 0x100524ca
mov ecx, 0x101f4350
jmp 0x100524c7
mov al, byte [eax - 4]
cmp al, 3
mov ecx, str.FIRST
mov edx, str.LAST
cmove edx, ecx
test al, al
cmove edx, ecx
push edx
push str.unsupported_use_of_NULLS__s
jmp 0x10053895
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
push dword [ebp - 0xdc]
call fcn.1017a230
add esp, 4
jmp 0x1005370f
push str.cannot_UPSERT_a_view
push dword [ebp - 0xd4]
call fcn.10046a40
add esp, 8
jmp 0x100538a3
push dword [ebx]
push str.UPSERT_not_implemented_for_virtual_table___s_
jmp 0x10053895
mov esi, 0x101f4350
jmp 0x100528fa
mov ecx, 0x101f4350
jmp 0x10052a85
mov ecx, eax
dec cl
mov byte [edx + 0x13], cl
movzx ecx, cl
mov ecx, dword [edx + ecx*4 + 0xa0]
mov dword [ebp - 0xd8], ecx
jne 0x10053ace
mov edx, dword [ebp - 0xd4]
mov esi, dword [edx + 0x2c]
jmp 0x10053251
mov ecx, 0x101f4350
jmp 0x100533d5
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x78], 0
je 0x10053aa2
mov ecx, dword [ebp - 0xd4]
call fcn.1002fa90
jmp 0x1005292c
mov esi, dword [edx + 0x34]
mov dword [ebp - 0xd8], 0
test esi, esi
je 0x10052953
mov edx, dword [ebp - 0xd4]
mov edx, dword [edx]
cmp dword [esi], edx
je 0x10053ac3
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x10053a33
mov dword [ebp - 0xd8], 0
jmp 0x10052953
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x10], 0
jne 0x1005386b
mov byte [ebp - 0x88], 0
jmp 0x10053889
test eax, eax
mov ebx, dword [ebp - 0xdc]
je 0x1005180d
jmp 0x10052de0
mov ecx, dword [ebp - 0x10c]
mov ecx, dword [ecx + 8]
cmp byte [ecx], 0xa7
jne 0x1005263b
cmp word [ecx + 0x20], 0xffff
jne 0x1005263b
jmp 0x1005276f
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
test byte [eax + 0x50], 8
jne 0x10053a06
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x17], 1
jmp 0x10053a06
mov dword [ebp - 0xd8], esi
jmp 0x10052953
add al, 0xfe
mov ecx, dword [ebp - 0xd4]
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0xa0]
jmp 0x10053255