Function at 0x10043a90
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x18]
xor eax, eax
push ebx
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0x1c]
push esi
push edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], 0xa7
mov dword [esp + 0x14], eax
mov dword [edx + 0x1c], 0xffffffff
cmp dword [ebp + 0xc], eax
je 0x10043b80
mov eax, ecx
test byte [eax + 0x18], 6
je 0x10043af5
mov dword [ebp + 0xc], 0
jmp 0x10043b80
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x14]
xor esi, esi
mov dword [esp + 0x40], eax
test eax, eax
jle 0x10043b46
mov ebx, dword [ecx + 0x10]
lea esp, [esp]
mov eax, dword [ebx]
mov edi, dword [ebp + 0xc]
sub edi, eax
movzx ecx, byte [eax]
movzx edx, byte [eax + edi]
cmp ecx, edx
jne 0x10043c6c
test ecx, ecx
jne 0x10043c7e
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov edx, esi
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
cmp esi, eax
jne 0x10043b80
mov edi, dword [ebp + 0xc]
mov ecx, str.main
sub edi, ecx
movzx eax, byte [ecx]
movzx edx, byte [ecx + edi]
cmp eax, edx
jne 0x10043c99
test eax, eax
jne 0x10043caf
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x30], edx
mov dword [ebp + 0xc], eax
mov edi, edi
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 4]
mov dword [esp + 0x50], eax
test eax, eax
je 0x100441b3
cmp dword [eax], 0
lea edx, [eax + 8]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x24], edx
jle 0x10044185
lea ebx, [ebx]
mov eax, dword [esp + 0x24]
test dword [eax + 0x28], 0x2000
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x18], ecx
je 0x10043e0b
mov edx, dword [eax + 0x14]
mov esi, dword [edx + 0x1c]
xor edi, edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], edi
cmp dword [esi], edi
jle 0x10043dff
add esi, 0x14
mov dword [esp + 0x48], esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push eax
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 0xc]
call fcn.10043860
add esp, 8
test eax, eax
je 0x10043ddb
cmp dword [esp + 0x1c], 0
jle 0x10043da9
mov ebx, dword [esp + 0x24]
test dword [ebx + 0x28], 0x400
je 0x10043d8b
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebx + 0x30]
push edx
call fcn.1005e860
add esp, 4
test eax, eax
js 0x10043d8b
mov al, byte [ebx + 0x24]
test al, 0x10
je 0x10043ddb
test al, 8
jne 0x10043cb5
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x1c], edi
cmp eax, edi
je 0x10043c63
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.10049060
add esp, 8
mov dword [esp + 0x14], edi
jmp 0x10043da9
movzx edx, byte [edx + 0x10112f10]
movzx ecx, byte [ecx + 0x10112f10]
sub ecx, edx
jne 0x10043c84
inc eax
jmp 0x10043b17
mov eax, dword [esp + 0x40]
inc esi
add ebx, 0x10
cmp esi, eax
jl 0x10043b10
jmp 0x10043b46
movzx edx, byte [edx + 0x10112f10]
movzx eax, byte [eax + 0x10112f10]
sub eax, edx
jne 0x10043b80
inc ecx
jmp 0x10043b54
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 8]
movzx ebx, word [ecx + 0x20]
mov ecx, dword [edx]
push 0
push 0x34
call fcn.1000ab60
mov edi, eax
add esp, 8
test edi, edi
je 0x10043da9
push 0x34
push 0
push edi
call fcn.100ff5c0
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov eax, dword [esp + 0x2c]
mov byte [edi], 0xa7
mov dword [edi + 0x18], 1
mov ecx, dword [eax + 0x2c]
mov dword [edi + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov word [edi + 0x20], bx
mov edx, dword [eax + 0x10]
or dword [edi + 4], 0x200000
add esp, 0xc
mov dword [edi + 0x2c], edx
test ecx, ecx
jne 0x10043d2e
mov eax, dword [ebp + 8]
mov esi, edi
mov edi, dword [eax]
call fcn.10048cd0
mov esi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
jmp 0x10043da9
mov eax, dword [ecx]
lea edx, [eax + 1]
cmp dword [ecx + 4], edx
jge 0x10043d50
mov eax, ecx
mov ecx, dword [ebp + 8]
mov ebx, edi
mov edi, dword [ecx]
call fcn.10048d30
mov esi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
jmp 0x10043da9
mov esi, dword [esp + 0x48]
mov dword [ecx], edx
mov edx, dword [0x10113a70]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4 + 8]
mov dword [eax + 4], edx
mov edx, dword [0x10113a74]
mov dword [eax + 8], edx
mov edx, dword [0x10113a78]
mov dword [eax + 0xc], edx
mov edx, dword [0x10113a7c]
mov dword [eax + 0x10], edx
mov dword [eax], edi
mov eax, ecx
mov dword [esp + 0x14], eax
jmp 0x10043da9
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10043da1
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.10049060
add esp, 8
mov dword [esp + 0x14], 0
mov ax, word [esp + 0x2c]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [esp + 0x24]
mov word [edx + 0x20], ax
or dword [esi], 0x40
mov eax, dword [esi]
mov edi, 1
add dword [esp + 0x1c], edi
mov dword [esp + 0x34], 2
mov dword [esp + 0x20], ecx
test al, al
js 0x1004416b
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x40]
inc eax
add esi, 0x14
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], esi
cmp eax, dword [ecx]
jl 0x10043be7
test edi, edi
jne 0x1004416b
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x10043e18
jmp 0x1004416b
cmp dword [ebp + 0x10], 0
je 0x10043f36
mov ecx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], 0
je 0x10043e70
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x3c], edx
jne 0x1004416b
test edx, edx
jne 0x10043e6d
mov eax, dword [ebp + 0xc]
mov ecx, 0x1011e110
jmp 0x10043e40
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10043e60
test dl, dl
je 0x10043e5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10043e60
add eax, 2
add ecx, 2
test dl, dl
jne 0x10043e40
xor eax, eax
jmp 0x10043e65
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1004416b
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
mov edi, dword [edx + 0xc]
test edi, edi
je 0x10043eab
mov esi, edi
sub esi, ecx
nop
movzx eax, byte [ecx]
movzx edx, byte [ecx + esi]
cmp eax, edx
jne 0x10043e92
test eax, eax
je 0x10043f03
inc ecx
jmp 0x10043e80
movzx edx, byte [edx + 0x10112f10]
movzx eax, byte [eax + 0x10112f10]
sub eax, edx
jne 0x1004416b
inc ecx
jmp 0x10043e80
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
sub esi, ecx
movzx eax, byte [ecx]
movzx edx, byte [ecx + esi]
cmp eax, edx
jne 0x10043ec5
test eax, eax
je 0x10043f03
inc ecx
jmp 0x10043eb3
movzx edx, byte [edx + 0x10112f10]
movzx eax, byte [eax + 0x10112f10]
sub eax, edx
jne 0x10043eda
inc ecx
jmp 0x10043eb3
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x14], 1
jne 0x1004416b
mov edx, dword [esp + 0x30]
mov eax, ecx
push edx
push eax
mov eax, dword [ebp + 0x10]
call fcn.10043990
add esp, 8
test eax, eax
je 0x1004416b
mov eax, dword [ebp + 8]
cmp byte [eax + 0xd8], 2
jb 0x10043f36
test edi, edi
je 0x10043f36
mov eax, dword [eax + 0x114]
test eax, eax
je 0x10043f36
mov ecx, dword [ebp + 0x1c]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x10043f30
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10043f23
jmp 0x10043f36
mov dword [eax], 0
mov edx, dword [ebp + 0x14]
call fcn.1000e490
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x18]
movsx ebx, word [eax + 0x22]
mov edi, dword [eax + 4]
mov dword [esp + 0x2c], 0
test ebx, ebx
jle 0x1004414b
mov cl, byte [esp + 0x13]
cmp byte [edi + 0xa], cl
jne 0x10043fbd
mov eax, dword [edi]
mov esi, dword [ebp + 0x14]
sub esi, eax
lea ecx, [ecx]
movzx ecx, byte [eax]
movzx edx, byte [eax + esi]
cmp ecx, edx
jne 0x10043fd2
test ecx, ecx
jne 0x10043fe4
cmp dword [esp + 0x1c], ecx
jle 0x10044100
mov edx, dword [esp + 0x24]
test dword [edx + 0x28], 0x400
je 0x100440e2
mov eax, dword [ebp + 0x14]
mov ecx, edx
mov ecx, dword [ecx + 0x30]
push eax
call fcn.1005e860
add esp, 4
test eax, eax
js 0x100440e2
mov edx, dword [esp + 0x24]
test byte [edx + 0x24], 0x10
jne 0x10043fe7
mov eax, dword [esp + 0x2c]
inc eax
add edi, 0x10
mov dword [esp + 0x2c], eax
cmp eax, ebx
jl 0x10043f5d
jmp 0x1004414b
movzx edx, byte [edx + 0x10112f10]
movzx ecx, byte [ecx + 0x10112f10]
sub ecx, edx
jne 0x10043fbd
inc eax
jmp 0x10043f70
mov eax, dword [esp + 0x24]
test byte [eax + 0x24], 8
jne 0x10044016
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x1c], esi
cmp eax, esi
je 0x1004400d
mov ecx, dword [esp + 0x28]
push eax
push ecx
call fcn.10049060
add esp, 8
mov dword [esp + 0x14], esi
jmp 0x10044100
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax]
movzx esi, word [edx + 0x20]
push 0
push 0x34
call fcn.1000ab60
mov edi, eax
add esp, 8
test edi, edi
je 0x10044100
push 0x34
push 0
push edi
call fcn.100ff5c0
mov eax, dword [esp + 0x2c]
or ecx, 0xffffffff
mov word [edi + 0x22], cx
mov ecx, dword [esp + 0x20]
mov byte [edi], 0xa7
mov dword [edi + 0x18], 1
mov edx, dword [eax + 0x2c]
mov dword [edi + 0x1c], edx
mov word [edi + 0x20], si
mov eax, dword [eax + 0x10]
or dword [edi + 4], 0x200000
add esp, 0xc
mov dword [edi + 0x2c], eax
test ecx, ecx
jne 0x1004408b
mov ecx, dword [ebp + 8]
mov esi, edi
mov edi, dword [ecx]
call fcn.10048cd0
mov dword [esp + 0x14], eax
jmp 0x10044100
mov eax, dword [ecx]
lea edx, [eax + 1]
cmp dword [ecx + 4], edx
jge 0x100440ab
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x14]
mov ebx, edi
mov edi, dword [edx]
call fcn.10048d30
mov dword [esp + 0x14], eax
jmp 0x10044100
mov dword [ecx], edx
mov edx, dword [0x10113a70]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4 + 8]
mov dword [eax + 4], edx
mov edx, dword [0x10113a74]
mov dword [eax + 8], edx
mov edx, dword [0x10113a78]
mov dword [eax + 0xc], edx
mov edx, dword [0x10113a7c]
mov dword [eax + 0x10], edx
mov dword [eax], edi
mov eax, ecx
mov dword [esp + 0x14], eax
jmp 0x10044100
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100440f8
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.10049060
add esp, 8
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x18]
movsx edx, word [edx + 0x20]
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
cmp eax, edx
jne 0x10044121
or eax, 0xffffffff
jmp 0x10044122
cwde
mov edx, dword [ebp + 0x1c]
mov word [edx + 0x20], ax
test dword [ecx + 0x28], 0x2000
je 0x1004414b
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + ecx*4 + 5]
or dword [eax + edx*4], 0x40
lea eax, [eax + edx*4]
cmp dword [esp + 0x1c], 0
jne 0x1004416b
mov eax, dword [esp + 0x18]
test dword [eax + 0x1c], 0x200
jne 0x1004416b
mov ecx, dword [esp + 0x24]
inc dword [esp + 0x34]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
add dword [esp + 0x24], 0x48
inc eax
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jl 0x10043bb0
cmp dword [esp + 0x20], 0
je 0x100441b3
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x2c]
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x2c], edx
test byte [ecx + 0x24], 0x48
je 0x100441ac
or dword [eax + 4], 0x200000
mov ecx, dword [edx + 0x3c]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x100448ae
cmp dword [ebp + 0xc], eax
jne 0x1004442b
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x80]
xor esi, esi
mov dword [esp + 0x18], esi
test eax, eax
je 0x100442d7
cmp byte [ebx + 0x9b], 0
movzx ecx, byte [ebx + 0x9a]
je 0x1004424f
mov edx, dword [ebp + 0x18]
test dword [edx + 0x18], 0x400
je 0x100442d7
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1004421f
mov edi, dword [eax]
sub edi, ecx
lea ebx, [ebx]
movzx eax, byte [ecx]
movzx edx, byte [ecx + edi]
cmp eax, edx
jne 0x10044236
test eax, eax
jne 0x1004424c
mov edx, dword [ebp + 0x1c]
xor ecx, ecx
cmp byte [ebx + 0x9a], 0x80
setne cl
mov dword [edx + 0x1c], ecx
jmp 0x100442cd
movzx edx, byte [edx + 0x10112f10]
movzx eax, byte [eax + 0x10112f10]
sub eax, edx
jne 0x100442d7
inc ecx
jmp 0x10044210
cmp ecx, 0x80
je 0x10044295
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x10044295
mov ecx, 0x1011b1e8
sub edi, ecx
movzx eax, byte [ecx]
movzx edx, byte [ecx + edi]
cmp eax, edx
jne 0x10044280
test eax, eax
jne 0x10044292
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
jmp 0x100442cd
movzx edx, byte [edx + 0x10112f10]
movzx eax, byte [eax + 0x10112f10]
sub eax, edx
jne 0x10044295
inc ecx
jmp 0x10044265
cmp byte [ebx + 0x9a], 0x7f
je 0x100442d7
cmp dword [ebp + 0x10], esi
je 0x100442d7
mov edi, dword [ebp + 0x10]
mov ecx, 0x1011e114
sub edi, ecx
lea ecx, [ecx]
movzx eax, byte [ecx]
movzx edx, byte [ecx + edi]
cmp eax, edx
jne 0x100443bc
test eax, eax
jne 0x100443d2
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], esi
mov esi, dword [ebx + 0x80]
mov dword [esp + 0x18], esi
mov edx, dword [ebp + 0x18]
test dword [edx + 0x18], 0x200
je 0x1004432b
cmp dword [ebp + 0x10], 0
je 0x1004432b
mov eax, edx
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x1004432b
mov edi, dword [ebp + 0x10]
mov ecx, str.excluded
sub edi, ecx
lea esp, [esp]
movzx eax, byte [ecx]
movzx edx, byte [ecx + edi]
cmp eax, edx
jne 0x100443d8
test eax, eax
jne 0x100443ee
mov ecx, dword [ebx + 0x20]
mov esi, dword [ecx + 0x18]
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x18], esi
mov dword [edx + 0x1c], 2
test esi, esi
je 0x1004442b
mov edx, dword [ebp + 0x14]
call fcn.1000e490
inc dword [esp + 0x34]
mov edi, dword [esi + 4]
mov byte [esp + 0x13], al
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x30], eax
movsx eax, word [esi + 0x22]
xor ebx, ebx
mov dword [esp + 0x4c], eax
test eax, eax
jle 0x10044392
mov cl, byte [esp + 0x13]
cmp byte [edi + 0xa], cl
jne 0x1004440c
mov ecx, dword [edi]
mov eax, dword [ebp + 0x14]
sub eax, ecx
nop
movzx edx, byte [ecx]
movzx esi, byte [ecx + eax]
cmp edx, esi
jne 0x100443f4
test edx, edx
jne 0x10044406
mov eax, dword [esp + 0x18]
movsx ecx, word [eax + 0x20]
cmp ebx, ecx
jne 0x10044392
or ebx, 0xffffffff
mov edi, dword [esp + 0x4c]
cmp ebx, edi
jl 0x1004441f
mov edx, dword [ebp + 0x14]
call fcn.10049850
test eax, eax
mov eax, dword [esp + 0x18]
je 0x10044423
test dword [eax + 0x1c], 0x200
jne 0x10044423
or ebx, 0xffffffff
jmp 0x10044423
movzx edx, byte [edx + 0x10112f10]
movzx eax, byte [eax + 0x10112f10]
sub eax, edx
jne 0x100442d7
inc ecx
jmp 0x100442b0
movzx edx, byte [edx + 0x10112f10]
movzx eax, byte [eax + 0x10112f10]
sub eax, edx
jne 0x1004432b
inc ecx
jmp 0x10044300
movzx esi, byte [esi + 0x10112f10]
movzx edx, byte [edx + 0x10112f10]
sub edx, esi
jne 0x1004440c
inc ecx
jmp 0x10044370
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x4c]
jl 0x1004435b
jmp 0x10044392
mov eax, dword [esp + 0x18]
cmp ebx, edi
jl 0x100445bf
mov esi, 1
cmp dword [esp + 0x34], esi
jne 0x10044463
mov edi, dword [esp + 0x20]
test edi, edi
je 0x10044463
mov edx, dword [ebp + 0x18]
test byte [edx + 0x18], 0x28
jne 0x10044463
mov edx, dword [ebp + 0x14]
call fcn.10049850
test eax, eax
je 0x10044463
mov eax, dword [edi + 0x10]
test dword [eax + 0x1c], 0x200
je 0x1004475f
mov ecx, dword [ebp + 0x18]
test byte [ecx + 0x18], 0x80
je 0x100444eb
cmp dword [ebp + 0x10], 0
jne 0x100444eb
mov edx, ecx
mov esi, dword [edx + 8]
mov ebx, dword [esi]
xor ecx, ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x50], ebx
test ebx, ebx
jle 0x100444eb
lea eax, [esi + 0x14]
mov dword [esp + 0x4c], eax
test byte [eax], 3
mov edi, dword [eax - 8]
jne 0x100444df
test edi, edi
jne 0x100444a7
mov edx, dword [ebp + 0x14]
neg edx
sbb edx, edx
jmp 0x100444d7
cmp dword [ebp + 0x14], 0
je 0x100444df
mov eax, dword [ebp + 0x14]
mov esi, edi
sub eax, edi
movzx edx, byte [esi]
movzx ebx, byte [esi + eax]
cmp edx, ebx
jne 0x100445a3
test edx, edx
jne 0x100445b9
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x40]
test edx, edx
je 0x10044776
inc ecx
add eax, 0x14
mov dword [esp + 0x4c], eax
cmp ecx, ebx
jl 0x10044492
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0xc]
inc dword [esp + 0x44]
mov dword [ebp + 0x18], eax
test eax, eax
jne 0x10043b80
cmp dword [ebp + 0x10], eax
jne 0x100448b7
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [ecx + 4]
test bl, bl
jns 0x10044570
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0xb1], al
jne 0x10044881
mov edx, dword [esp + 0x38]
test dword [edx + 0x18], 0x10000
mov eax, dword [ecx + 0x20]
je 0x10044872
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x54], ecx
mov ecx, eax
and ecx, 0x10000001
xor edx, edx
cmp ecx, 1
jne 0x10044561
test edx, edx
jne 0x10044561
mov ecx, eax
and ecx, 0x40000000
or ecx, edx
jne 0x10044881
and eax, 0x20000000
xor ecx, ecx
or eax, ecx
jne 0x10044881
test ebx, 0x4000800
jne 0x100448b7
mov esi, dword [ebp + 0x1c]
mov edx, dword [esi + 8]
call fcn.10049190
test eax, eax
je 0x100448b7
or ebx, eax
mov byte [esi], 0xaa
mov dword [esi + 4], ebx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ebx, byte [ebx + 0x10112f10]
movzx edx, byte [edx + 0x10112f10]
sub edx, ebx
jne 0x100444cb
inc esi
jmp 0x100444b4
mov esi, dword [ebp + 0x1c]
mov ecx, dword [esi + 0x1c]
xor edx, edx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], edx
cmp ecx, 2
jne 0x10044666
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0xd8], 2
jb 0x100445fc
mov word [esi + 0x20], bx
mov dword [esi + 0x2c], eax
mov dword [esp + 0x3c], 0xa7
jmp 0x10044a7c
test byte [eax + 0x1c], 0x20
je 0x10044649
cmp bx, dx
jl 0x10044649
movsx edi, bx
mov dword [esp + 0x4c], edx
mov ebx, edx
cmp edi, edx
jle 0x1004462c
mov ecx, dword [eax + 4]
add ecx, 0xe
mov edx, edi
lea esp, [esp]
test byte [ecx], 0x20
jne 0x10044626
inc ebx
add ecx, 0x10
dec edi
jne 0x10044620
mov ecx, dword [eax + 4]
mov edi, edx
add edi, edi
test byte [ecx + edi*8 + 0xe], 0x20
je 0x10044649
mov ax, word [eax + 0x24]
sub ax, bx
add ax, dx
movzx eax, ax
jmp 0x1004464c
movzx eax, bx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 8]
cwde
add eax, dword [edx + 0x24]
mov dword [esp + 0x3c], 0xb0
mov dword [esi + 0x1c], eax
jmp 0x10044a7c
mov edi, dword [ebp + 8]
mov dword [esi + 0x2c], eax
cmp byte [edi + 0x9b], dl
mov word [esi + 0x20], bx
je 0x100446f8
mov byte [esi + 2], 0xa7
test byte [eax + 0x1c], 0x20
mov dword [esp + 0x3c], 0xb0
je 0x100446d4
cmp bx, dx
jl 0x100446d4
movsx edi, bx
xor edx, edx
xor esi, esi
test edi, edi
jle 0x100446b2
mov ecx, dword [eax + 4]
add ecx, 0xe
mov edx, edi
test byte [ecx], 0x20
jne 0x100446ac
inc esi
add ecx, 0x10
dec edi
jne 0x100446a6
mov edi, dword [eax + 4]
mov ecx, edx
add ecx, ecx
test byte [edi + ecx*8 + 0xe], 0x20
je 0x100446cf
mov cx, word [eax + 0x24]
sub cx, si
add cx, dx
movzx ecx, cx
jmp 0x100446d7
movzx ecx, si
jmp 0x100446d7
movzx ecx, bx
movsx edx, word [eax + 0x22]
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
inc edx
imul edx, dword [eax + 0x1c]
add edx, dword [esi + 8]
movsx ecx, cx
lea edx, [edx + ecx + 1]
mov dword [eax + 0x1c], edx
jmp 0x10044a7c
mov dword [esp + 0x3c], 0x4d
cmp ebx, edx
jge 0x1004470d
mov byte [esi + 1], 0x44
jmp 0x10044a7c
cmp ecx, edx
jne 0x10044738
cmp ebx, 0x20
jl 0x10044724
or eax, 0xffffffff
or dword [edi + 0x90], eax
jmp 0x10044a7c
mov eax, 1
mov ecx, ebx
shl eax, cl
or dword [edi + 0x90], eax
jmp 0x10044a7c
cmp ebx, 0x20
jl 0x1004474b
or eax, 0xffffffff
or dword [edi + 0x94], eax
jmp 0x10044a7c
mov eax, 1
mov ecx, ebx
shl eax, cl
or dword [edi + 0x94], eax
jmp 0x10044a7c
mov eax, dword [ebp + 0x1c]
or ecx, 0xffffffff
mov dword [esp + 0x1c], esi
mov word [eax + 0x20], cx
mov byte [eax + 1], 0x44
jmp 0x10044a7c
mov ebx, dword [ebp + 0x18]
lea edx, [ecx + ecx*4]
mov eax, dword [esi + edx*4 + 8]
mov edx, dword [ebx + 0x18]
test dl, 1
jne 0x100447ac
test byte [eax + 4], 0x10
je 0x100447ac
mov eax, dword [ebp + 8]
push edi
push str.misuse_of_aliased_aggregate__s
push eax
call fcn.1000e200
add esp, 0xc
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [eax + 4], 0x8000
je 0x100447e1
test edx, 0x4000
je 0x100447c3
cmp ebx, dword [esp + 0x38]
je 0x100447e1
mov ecx, dword [ebp + 8]
push edi
push str.misuse_of_aliased_window_function__s
push ecx
call fcn.1000e200
add esp, 0xc
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dl, byte [eax]
cmp dl, 0xb0
jne 0x100447eb
mov dl, byte [eax + 2]
cmp dl, 0xb1
jne 0x100447f5
mov edx, dword [eax + 0x14]
jmp 0x10044800
cmp dl, 0x8a
jne 0x10044824
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov eax, dword [edx]
cmp eax, 1
je 0x10044824
mov eax, dword [ebp + 8]
push str.row_value_misused
push eax
call fcn.1000e200
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x44]
push ebx
mov eax, ecx
push edi
mov ecx, esi
call fcn.10043760
add esp, 8
cmp byte [edi + 0xd8], 2
jb 0x10044b54
mov eax, dword [edi + 0x114]
test eax, eax
je 0x10044b54
cmp dword [eax], ebx
je 0x10044867
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10044857
jmp 0x10044b54
mov dword [eax], 0
jmp 0x10044b54
and eax, 0x40000000
xor ecx, ecx
or eax, ecx
je 0x10044570
mov edx, dword [ebp + 0x14]
push edx
push str.double_quoted_string_literal:___w_
push 0x1c
call sym.MyService.dll_sqlite3_log
mov ecx, dword [ebp + 0x1c]
add esp, 0xc
xor eax, eax
mov byte [ecx], 0x75
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 1
je 0x10044a7c
mov esi, dword [esp + 0x14]
xor ebx, ebx
cmp esi, ebx
je 0x100449ee
mov eax, dword [esp + 0x1c]
dec eax
cmp dword [esi], eax
jne 0x100449e0
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi + 4]
test eax, 0x800000
je 0x100448e9
and eax, 0xff7fffff
mov dword [edi + 4], eax
jmp 0x10044919
mov eax, dword [edi + 0xc]
cmp eax, ebx
je 0x100448fe
mov ecx, dword [esp + 0x28]
push eax
push ecx
call fcn.10047e40
add esp, 8
mov eax, dword [edi + 0x10]
mov dword [edi + 0xc], ebx
cmp eax, ebx
je 0x10044916
mov edx, dword [esp + 0x28]
push eax
push edx
call fcn.10047e40
add esp, 8
mov dword [edi + 0x10], ebx
movzx eax, word [edi + 0x20]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push 0
push 0x34
mov dword [esp + 0x58], eax
call fcn.1000ab60
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100449ce
push 0x34
push 0
push ebx
call fcn.100ff5c0
mov eax, dword [esp + 0x2c]
or edx, 0xffffffff
mov word [ebx + 0x22], dx
mov dx, word [esp + 0x5c]
mov byte [ebx], 0xa7
mov dword [ebx + 0x18], 1
mov ecx, dword [eax + 0x2c]
mov dword [ebx + 0x1c], ecx
mov word [ebx + 0x20], dx
mov eax, dword [eax + 0x10]
or dword [ebx + 4], 0x200000
mov dword [ebx + 0x2c], eax
mov eax, dword [esi]
lea ecx, [eax + 1]
add esp, 0xc
cmp dword [esi + 4], ecx
jge 0x10044994
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x14]
mov edi, dword [ecx]
call fcn.10048d30
jmp 0x100449c5
mov dword [esi], ecx
mov ecx, dword [0x10113a74]
lea edx, [eax + eax*4]
lea eax, [esi + edx*4 + 8]
mov edx, dword [0x10113a70]
mov dword [eax + 4], edx
mov edx, dword [0x10113a78]
mov dword [eax + 8], ecx
mov ecx, dword [0x10113a7c]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov dword [eax], ebx
mov eax, esi
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x14], eax
mov esi, eax
mov byte [edi], 0xac
mov dword [edi + 8], str.coalesce
mov dword [edi + 0x14], esi
jmp 0x10044b54
mov edx, dword [esp + 0x28]
push esi
push edx
call fcn.10049060
add esp, 8
mov eax, str.no_such_column
cmp dword [esp + 0x1c], ebx
je 0x100449fe
mov eax, str.ambiguous_column_name
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp ecx, ebx
je 0x10044a22
mov edx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edx
push ecx
push eax
push str._s:__s._s._s
push esi
call fcn.1000e200
add esp, 0x18
jmp 0x10044a52
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
je 0x10044a3f
mov edx, dword [ebp + 0x14]
push edx
push ecx
push eax
push str._s:__s._s
push esi
call fcn.1000e200
add esp, 0x14
jmp 0x10044a52
mov ecx, dword [ebp + 0x14]
push ecx
push eax
push str._s:__s
push esi
call fcn.1000e200
add esp, 0x10
mov eax, dword [ebp + 0x1c]
mov ecx, dword [esi]
test byte [eax + 4], 3
jne 0x10044a62
cmp dword [eax + 0x24], ebx
jg 0x10044a6b
mov eax, dword [eax + 0xc]
cmp eax, ebx
jne 0x10044a57
jmp 0x10044a71
mov edx, dword [eax + 0x24]
mov dword [ecx + 0x44], edx
mov eax, dword [esp + 0x38]
mov byte [esi + 0x11], 1
inc dword [eax + 0x14]
mov esi, dword [ebp + 0x1c]
test dword [esi + 4], 0x810000
jne 0x10044ac7
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10044a9d
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.10047e40
add esp, 8
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test eax, eax
je 0x10044ab9
mov ecx, dword [esp + 0x28]
push eax
push ecx
call fcn.10047e40
add esp, 8
or dword [esi + 4], 0x800000
mov dword [esi + 0x10], 0
movzx eax, word [esi + 0x20]
test ax, ax
js 0x10044b43
mov edi, dword [esp + 0x20]
test edi, edi
je 0x10044b43
movsx ecx, ax
mov eax, dword [esi + 0x2c]
mov dl, 0x60
test byte [eax + 0x1c], dl
je 0x10044b27
mov ebx, dword [eax + 4]
mov edi, ecx
add edi, edi
test byte [ebx + edi*8 + 0xe], dl
je 0x10044b23
movzx eax, word [eax + 0x22]
cmp ax, 0x40
jl 0x10044b08
mov edi, dword [esp + 0x20]
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x10044b3d
movsx ecx, ax
mov eax, 1
xor edx, edx
call fcn.1010a5b0
mov edi, dword [esp + 0x20]
add eax, 0xffffffff
adc edx, 0xffffffff
jmp 0x10044b3d
mov edi, dword [esp + 0x20]
cmp ecx, 0x40
jl 0x10044b31
mov ecx, 0x3f
mov eax, 1
xor edx, edx
call fcn.1010a5b0
or dword [edi + 0x38], eax
or dword [edi + 0x3c], edx
cmp dword [esp + 0x1c], 1
mov dl, byte [esp + 0x3c]
mov byte [esi], dl
jne 0x100447a0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
cmp dword [eax + 0x17c], 0
je 0x10044b84
mov ecx, dword [ebp + 0x1c]
mov al, byte [ecx]
cmp al, 0xa7
je 0x10044b6f
cmp al, 0x4d
jne 0x10044b84
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 4]
push eax
push ecx
mov ecx, dword [esp + 0x38]
push edx
call fcn.10056d50
add esp, 0xc
mov eax, dword [esp + 0x38]
inc dword [eax + 0x10]
cmp eax, dword [ebp + 0x18]
je 0x10044baa
mov ecx, dword [ebp + 0x18]
mov edx, 1
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xc]
add dword [eax + 0x10], edx
mov dword [esp + 0x38], eax
cmp eax, ecx
jne 0x10044b98
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret