Function at 0x43f4f0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
xor eax, eax
mov dword [esp + 8], ecx
mov ecx, dword [ecx]
push ebx
mov dword [esp + 0x3c], eax
xor ebx, ebx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, edx
mov dword [esp + 0x2c], ecx
mov edx, dword [ebp + 0x10]
push edi
xor edi, edi
mov dword [eax + 0x1c], 0xffffffff
mov dword [esp + 0x18], esi
mov eax, edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], 0xa6
test esi, esi
je 0x43f620
test byte [eax + 0x18], 6
je 0x43f55a
xor esi, esi
mov dword [esp + 0x18], esi
jmp 0x43f620
mov eax, dword [ecx + 0x14]
xor edi, edi
mov dword [esp + 0x40], eax
test eax, eax
jle 0x43f5a0
mov ebx, dword [ecx + 0x10]
nop word [eax + eax]
mov edx, dword [ebx]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f5d7
test ecx, ecx
jne 0x43f5e9
mov edx, dword [esp + 0x30]
mov eax, edi
mov esi, dword [esp + 0x18]
add eax, eax
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + eax*8 + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x40]
xor ebx, ebx
cmp edi, eax
jne 0x43f616
mov edx, str.main
sub esi, edx
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f601
test ecx, ecx
jne 0x43f613
mov eax, dword [esp + 0x30]
xor edi, edi
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], esi
jmp 0x43f61c
movzx eax, byte [eax + 0x4e3418]
movzx ecx, byte [ecx + 0x4e3418]
sub ecx, eax
jne 0x43f5ec
inc edx
jmp 0x43f574
mov eax, dword [esp + 0x40]
inc edi
mov esi, dword [esp + 0x18]
add ebx, 0x10
cmp edi, eax
jge 0x43f59e
jmp 0x43f570
movzx eax, byte [eax + 0x4e3418]
movzx ecx, byte [ecx + 0x4e3418]
sub ecx, eax
jne 0x43f616
inc edx
jmp 0x43f5b0
xor edi, edi
mov esi, dword [esp + 0x18]
mov eax, dword [ebp + 0x10]
nop
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
test eax, eax
je 0x43f97d
xor edx, edx
lea ebx, [eax + 8]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
cmp dword [eax], edx
jle 0x43f94a
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x38], ecx
test eax, eax
je 0x43f6e6
test dword [eax + 4], 0x800
je 0x43f6e6
mov ebx, dword [eax + 0x1c]
xor esi, esi
mov dword [esp + 0x40], 0
cmp dword [ebx], esi
jle 0x43f6d1
lea edi, [ebx + 8]
push dword [esp + 0x18]
mov edx, dword [ebp + 0xc]
mov ecx, edi
push dword [ebp + 8]
call fcn.0043f300
add esp, 8
test eax, eax
je 0x43f6b5
mov eax, dword [esp + 0x20]
inc dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x28], 2
mov word [eax + 0x20], si
mov eax, 1
mov dword [esp + 0x40], eax
jmp 0x43f6b9
mov eax, dword [esp + 0x40]
inc esi
add edi, 0x14
cmp esi, dword [ebx]
jl 0x43f677
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x43f91a
mov ecx, dword [esp + 0x38]
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
test eax, eax
je 0x43f92e
jmp 0x43f6e9
mov eax, dword [ebp + 8]
test esi, esi
je 0x43f6fa
mov edi, dword [esp + 0x2c]
cmp dword [ecx + 0x3c], edi
jne 0x43f92e
test eax, eax
je 0x43f76d
mov edx, dword [ebx + 0xc]
test edx, edx
jne 0x43f707
mov edx, dword [ecx]
mov esi, eax
sub esi, edx
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f74e
test ecx, ecx
jne 0x43f764
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xcc], 2
jb 0x43f76d
cmp dword [ebx + 0xc], ecx
je 0x43f76d
mov eax, dword [eax + 0x108]
test eax, eax
je 0x43f76d
mov ecx, dword [ebp + 0x14]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x43f767
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x43f741
jmp 0x43f76d
movzx eax, byte [eax + 0x4e3418]
movzx ecx, byte [ecx + 0x4e3418]
sub ecx, eax
jne 0x43f926
inc edx
jmp 0x43f710
mov dword [eax], 0
mov eax, dword [ebp + 0xc]
xor dl, dl
mov byte [esp + 0xf], dl
mov ecx, eax
test eax, eax
je 0x43f794
mov al, byte [eax]
test al, al
je 0x43f798
movzx eax, al
lea ecx, [ecx + 1]
add dl, byte [eax + 0x4e3418]
mov al, byte [ecx]
test al, al
jne 0x43f782
mov byte [esp + 0xf], dl
mov esi, dword [esp + 0x38]
xor edi, edi
mov dword [esp + 0x40], edi
movzx eax, word [esi + 0x22]
mov ebx, dword [esi + 4]
mov ecx, eax
mov dword [esp + 0x50], ecx
xor ecx, ecx
mov dword [esp + 0x48], ebx
cmp cx, ax
jge 0x43f867
nop
cmp byte [ebx + 0xa], dl
jne 0x43f84a
mov esi, dword [ebp + 0xc]
mov edx, dword [ebx]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f89d
test ecx, ecx
jne 0x43f8af
mov esi, dword [esp + 0x10]
cmp esi, 1
jne 0x43f8e3
mov eax, dword [esp + 0x20]
test byte [eax + 0x24], 4
jne 0x43f846
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43f8e3
mov ecx, dword [eax + 4]
xor ebx, ebx
mov dword [esp + 0x4c], ecx
test ecx, ecx
jle 0x43f8e3
mov edi, dword [eax]
nop dword [eax]
mov esi, dword [ebp + 0xc]
mov edx, dword [edi]
sub esi, edx
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x43f8b5
test eax, eax
jne 0x43f8c7
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x40]
mov dl, byte [esp + 0xf]
mov eax, dword [esp + 0x50]
inc edi
add ebx, 0x10
cwde
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], ebx
cmp edi, eax
jl 0x43f7c0
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test edi, edi
jne 0x43f920
test dword [esi + 0x1c], 0x200
mov esi, dword [esp + 0x18]
jne 0x43f932
inc dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
jmp 0x43f932
movzx eax, byte [eax + 0x4e3418]
movzx ecx, byte [ecx + 0x4e3418]
sub ecx, eax
jne 0x43f846
inc edx
jmp 0x43f7d0
movzx ecx, byte [ecx + 0x4e3418]
movzx eax, byte [eax + 0x4e3418]
sub eax, ecx
jne 0x43f8cd
inc edx
jmp 0x43f827
inc ebx
add edi, 8
cmp ebx, dword [esp + 0x4c]
jl 0x43f820
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
inc esi
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
movsx eax, word [esi + 0x20]
cmp edi, eax
jne 0x43f90b
mov edx, dword [ebp + 0x14]
or eax, 0xffffffff
mov word [edx + 0x20], ax
jmp 0x43f86b
mov edx, dword [ebp + 0x14]
movzx eax, di
mov word [edx + 0x20], ax
jmp 0x43f86b
mov ebx, dword [esp + 0x20]
jmp 0x43f92a
mov esi, dword [esp + 0x18]
jmp 0x43f932
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
inc edx
add ebx, 0x48
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
cmp edx, dword [eax]
jl 0x43f644
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x43f975
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebx + 0x2c]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x2c], eax
test byte [ebx + 0x24], 8
je 0x43f96e
or dword [ecx + 4], 0x100000
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x43fcd5
test esi, esi
jne 0x43fbfa
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], esi
mov edi, dword [eax + 0x78]
test edi, edi
je 0x43fa80
cmp byte [eax + 0x95], 0
mov bl, byte [eax + 0x94]
je 0x43f9ff
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
test dword [edx + 0x18], 0x400
je 0x43fa83
test eax, eax
je 0x43f9d3
mov edi, dword [edi]
mov edx, eax
sub edi, eax
movzx eax, byte [edx]
movzx esi, byte [edi + edx]
cmp eax, esi
jne 0x43f9e6
test eax, eax
jne 0x43f9fc
mov ecx, dword [ebp + 0x14]
xor eax, eax
cmp bl, 0x7f
setne al
mov dword [ecx + 0x1c], eax
jmp 0x43fa75
movzx ecx, byte [eax + 0x4e3418]
movzx eax, byte [esi + 0x4e3418]
sub ecx, eax
jne 0x43fa80
inc edx
jmp 0x43f9c4
cmp bl, 0x7f
je 0x43fa49
mov eax, dword [ebp + 8]
test eax, eax
je 0x43fa44
mov edx, 0x4dcec0
mov edi, eax
sub edi, edx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x43fa2f
test eax, eax
jne 0x43fa41
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 0x1c], 1
jmp 0x43fa75
movzx ecx, byte [eax + 0x4e3418]
movzx eax, byte [esi + 0x4e3418]
sub ecx, eax
jne 0x43fa44
inc edx
jmp 0x43fa14
cmp bl, 0x7e
je 0x43fa80
mov eax, dword [ebp + 8]
test eax, eax
je 0x43fa83
mov edx, 0x4dcec4
mov edi, eax
sub edi, edx
nop dword [eax]
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x43fac8
test eax, eax
jne 0x43fada
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
test dword [edx + 0x18], 0x200
je 0x43faf5
test eax, eax
je 0x43faf5
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x43faf5
mov edx, str.excluded
mov edi, eax
sub edi, edx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x43fae0
test eax, eax
jne 0x43faf2
mov eax, dword [ebx + 0x20]
mov edi, dword [eax + 0x18]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], edi
mov dword [eax + 0x1c], 2
jmp 0x43faf9
movzx ecx, byte [eax + 0x4e3418]
movzx eax, byte [esi + 0x4e3418]
sub ecx, eax
jne 0x43fa80
inc edx
jmp 0x43fa60
movzx ecx, byte [eax + 0x4e3418]
movzx eax, byte [esi + 0x4e3418]
sub ecx, eax
jne 0x43faf5
inc edx
jmp 0x43faa3
mov edi, dword [esp + 0x20]
test edi, edi
je 0x43fbf6
mov eax, dword [ebp + 0xc]
xor dl, dl
mov byte [esp + 0xf], dl
mov ecx, eax
test eax, eax
je 0x43fb32
mov al, byte [eax]
test al, al
je 0x43fb36
nop word [eax + eax]
movzx eax, al
lea ecx, [ecx + 1]
add dl, byte [eax + 0x4e3418]
mov al, byte [ecx]
test al, al
jne 0x43fb20
mov byte [esp + 0xf], dl
mov eax, dword [edi + 0x3c]
xor ebx, ebx
inc dword [esp + 0x28]
mov ecx, dword [edi + 4]
mov dword [esp + 0x2c], eax
movzx eax, word [edi + 0x22]
mov dword [esp + 0x48], ecx
mov esi, eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
cmp bx, ax
jge 0x43fbc7
nop dword [eax]
cmp byte [ecx + 0xa], dl
jne 0x43fbb4
mov edi, dword [ebp + 0xc]
mov edx, dword [ecx]
sub edi, edx
nop dword [eax]
movzx eax, byte [edx]
movzx esi, byte [edi + edx]
cmp eax, esi
jne 0x43fb93
test eax, eax
jne 0x43fba5
mov edi, dword [esp + 0x20]
movsx eax, word [edi + 0x20]
cmp ebx, eax
mov eax, 0xffffffff
cmove ebx, eax
jmp 0x43fbc7
movzx ecx, byte [eax + 0x4e3418]
movzx eax, byte [esi + 0x4e3418]
sub ecx, eax
jne 0x43fba8
inc edx
jmp 0x43fb70
mov ecx, dword [esp + 0x48]
mov dl, byte [esp + 0xf]
mov esi, dword [esp + 0x50]
inc ebx
movsx eax, si
add ecx, 0x10
mov dword [esp + 0x48], ecx
cmp ebx, eax
jl 0x43fb60
mov edi, dword [esp + 0x20]
movsx esi, word [edi + 0x22]
cmp ebx, esi
jl 0x43fce9
mov ecx, dword [ebp + 0xc]
call fcn.00444f80
test eax, eax
je 0x43fbee
test dword [edi + 0x1c], 0x200
mov eax, 0xffffffff
cmove ebx, eax
cmp ebx, esi
jl 0x43fce9
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x28], 1
jne 0x43fc2a
test ebx, ebx
je 0x43fc2a
mov edx, dword [ebp + 0x10]
test byte [edx + 0x18], 0x28
jne 0x43fc2a
mov ecx, dword [ebp + 0xc]
call fcn.00444f80
test eax, eax
je 0x43fc2a
mov eax, dword [ebx + 0x10]
test dword [eax + 0x1c], 0x200
je 0x43fe3f
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
test byte [ebx + 0x18], 0x80
je 0x43fca1
test edx, edx
jne 0x43fca1
mov ecx, dword [ebx + 8]
xor esi, esi
mov dword [esp + 0x48], esi
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
test eax, eax
jle 0x43fca1
lea edi, [ecx + 0x14]
test byte [edi], 3
mov ebx, dword [edi - 8]
jne 0x43fc8f
mov ecx, dword [ebp + 0xc]
test ebx, ebx
jne 0x43fc65
neg ecx
sbb ecx, ecx
jmp 0x43fc87
test ecx, ecx
je 0x43fc8f
mov esi, ecx
mov edx, ebx
sub esi, ebx
nop
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43fcc0
test ecx, ecx
jne 0x43fcd2
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
test ecx, ecx
je 0x43fe57
inc esi
add edi, 0x14
mov dword [esp + 0x48], esi
cmp esi, eax
jl 0x43fc50
mov edx, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + 0xc]
inc dword [esp + 0x44]
mov dword [ebp + 0x10], ebx
test ebx, ebx
je 0x43ff43
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
jmp 0x43f618
movzx eax, byte [eax + 0x4e3418]
movzx ecx, byte [ecx + 0x4e3418]
sub ecx, eax
jne 0x43fc7f
inc edx
jmp 0x43fc70
mov ebx, dword [ebp + 0x14]
cmp edi, 1
je 0x440075
mov edx, dword [ebp + 8]
jmp 0x44000b
mov ecx, dword [ebp + 0x14]
xor edx, edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x1c], edx
movzx eax, bx
mov esi, dword [ecx + 0x1c]
cmp esi, 2
jne 0x43fd58
mov edx, eax
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xcc], 2
jb 0x43fd2e
mov ebx, ecx
mov dword [esp + 0x34], 0xa6
mov dword [ebx + 0x2c], edi
mov edi, dword [esp + 0x10]
mov word [ebx + 0x20], dx
jmp 0x440075
mov ecx, edi
call fcn.00456920
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov edi, dword [esp + 0x10]
movsx ecx, ax
mov eax, dword [edx + 8]
mov dword [esp + 0x34], 0xaf
add ecx, dword [eax + 0x24]
mov dword [ebx + 0x1c], ecx
jmp 0x440075
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x2c], edi
cmp byte [edx + 0x95], 0
mov edx, dword [esp + 0x1c]
je 0x43fda2
mov edx, eax
mov dword [esp + 0x34], 0xaf
mov ecx, edi
call fcn.00456920
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
movsx ecx, ax
movsx eax, word [edi + 0x22]
mov edi, dword [esp + 0x10]
inc eax
imul eax, esi
add ecx, eax
mov eax, dword [edx + 8]
inc eax
add eax, ecx
mov dword [ebx + 0x1c], eax
jmp 0x440075
mov word [ecx + 0x20], ax
mov dword [esp + 0x34], 0x4d
test ebx, ebx
jns 0x43fdc1
mov edi, dword [esp + 0x10]
mov ebx, ecx
mov byte [ebx + 1], 0x44
jmp 0x440079
test esi, esi
jne 0x43fe02
cmp ebx, 0x20
jl 0x43fde3
mov ecx, dword [esp + 0x14]
or eax, 0xffffffff
mov edi, dword [esp + 0x10]
mov ebx, dword [ebp + 0x14]
or dword [ecx + 0x8c], eax
jmp 0x440079
mov edi, dword [esp + 0x10]
mov ecx, ebx
mov ebx, dword [ebp + 0x14]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x8c], eax
jmp 0x440079
cmp ebx, 0x20
jl 0x43fe20
mov ecx, dword [esp + 0x14]
or eax, 0xffffffff
mov edi, dword [esp + 0x10]
mov ebx, dword [ebp + 0x14]
or dword [ecx + 0x90], eax
jmp 0x440079
mov edi, dword [esp + 0x10]
mov ecx, ebx
mov ebx, dword [ebp + 0x14]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x90], eax
jmp 0x440079
mov ebx, dword [ebp + 0x14]
or eax, 0xffffffff
mov edi, 1
mov word [ebx + 0x20], ax
mov byte [ebx + 1], 0x44
jmp 0x440075
mov ecx, dword [ebp + 0x10]
lea eax, [esi + esi*4]
mov edi, dword [ecx + 8]
mov edx, dword [ecx + 0x18]
mov eax, dword [edi + eax*4 + 8]
test dl, 1
jne 0x43fe90
test byte [eax + 4], 0x10
je 0x43fe90
push ebx
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x1c]
call fcn.00407e90
add esp, 0xc
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [eax + 4], 0x8000
je 0x43feb2
test edx, 0x4000
je 0x43feaa
mov edx, dword [ebp + 0x10]
cmp edx, dword [esp + 0x3c]
je 0x43feb2
push ebx
push str.misuse_of_aliased_window_function__s
jmp 0x43fe78
mov cl, byte [eax]
cmp cl, 0xaf
jne 0x43febc
mov cl, byte [eax + 2]
cmp cl, 0xb0
jne 0x43fec6
mov eax, dword [eax + 0x14]
jmp 0x43fed1
cmp cl, 0x89
jne 0x43fef3
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
je 0x43fef3
push str.row_value_misused
push dword [esp + 0x18]
call fcn.00407e90
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x44]
mov edx, edi
mov ebx, dword [ebp + 0x14]
push eax
push ebx
push esi
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.0043f140
add esp, 0xc
cmp byte [esi + 0xcc], 2
jb 0x44015b
mov eax, dword [esi + 0x108]
test eax, eax
je 0x44015b
cmp dword [eax], ebx
je 0x43ff38
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x43ff28
jmp 0x44015b
mov dword [eax], 0
jmp 0x44015b
mov ebx, dword [ebp + 0x14]
test edx, edx
jne 0x440007
test byte [ebx + 4], 0x40
je 0x43ffd9
mov eax, dword [esp + 0x30]
cmp byte [eax + 0xb1], dl
jne 0x43ffb0
mov ecx, dword [eax + 0x20]
mov eax, dword [esp + 0x3c]
test dword [eax + 0x18], 0x10000
je 0x43ffa5
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x43ff8b
mov eax, ecx
and eax, 0x40000000
or eax, edx
jne 0x43ffb0
and ecx, 0x20000000
or ecx, 0
je 0x43ff9f
mov eax, 1
test eax, eax
jmp 0x43ffae
xor eax, eax
test eax, eax
jmp 0x43ffae
and ecx, 0x40000000
or ecx, 0
je 0x43ffd9
push dword [ebp + 0xc]
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.004072e0
xorps xmm0, xmm0
mov byte [ebx], 0x74
add esp, 0xc
movq qword [ebx + 0x2c], xmm0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 4]
test esi, 0x4000400
jne 0x440007
mov ecx, dword [ebx + 8]
call fcn.004449a0
test eax, eax
je 0x440004
or esi, eax
mov byte [ebx], 0xa9
mov dword [ebx + 4], esi
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
mov edi, dword [esp + 0x10]
push dword [ebp + 0xc]
test edi, edi
mov ecx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x44003b
push edx
push ecx
push eax
push str._s:__s._s._s
push dword [esp + 0x28]
call fcn.00407e90
add esp, 0x18
jmp 0x440066
test edx, edx
je 0x440054
push edx
push eax
push str._s:__s._s
push dword [esp + 0x24]
call fcn.00407e90
add esp, 0x14
jmp 0x440066
push eax
push str._s:__s
push dword [esp + 0x20]
call fcn.00407e90
add esp, 0x10
mov eax, dword [esp + 0x14]
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x3c]
inc dword [eax + 0x14]
mov edx, dword [esp + 0x1c]
movzx eax, word [ebx + 0x20]
test ax, ax
js 0x440102
test edx, edx
je 0x440102
mov edx, dword [ebx + 0x2c]
movsx esi, ax
test byte [edx + 0x1c], 0x60
je 0x4400d8
mov eax, dword [edx + 4]
mov ecx, esi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x60
je 0x4400d8
movzx eax, word [edx + 0x22]
cmp ax, 0x40
jl 0x4400ba
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x4400f8
xor ecx, ecx
cwde
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
jmp 0x4400f8
cmp esi, 0x40
mov eax, 0x3f
cmovge esi, eax
xor ecx, ecx
xor edx, edx
bts ecx, esi
cmp esi, 0x20
cmovae edx, ecx
xor ecx, edx
cmp esi, 0x40
cmovae edx, ecx
mov eax, dword [esp + 0x1c]
or dword [eax + 0x38], ecx
or dword [eax + 0x3c], edx
mov eax, dword [ebx + 4]
test eax, 0x804000
jne 0x440140
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x30]
test edx, edx
je 0x440121
mov ecx, esi
call fcn.00443540
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0x10]
mov dword [ebx + 0xc], 0
test edx, edx
je 0x440139
mov ecx, esi
call fcn.00443540
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0
mov ecx, dword [esp + 0x34]
or eax, 0x800000
mov byte [ebx], cl
mov dword [ebx + 4], eax
cmp edi, 1
jne 0x43fe84
mov esi, dword [esp + 0x14]
mov ecx, dword [esi]
cmp dword [ecx + 0x168], 0
je 0x440224
mov al, byte [ebx]
cmp al, 0xa6
je 0x440178
cmp al, 0x4d
jne 0x440224
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x2c]
mov ebx, dword [eax + 4]
test edi, edi
je 0x440224
mov eax, dword [ecx + 0x10]
xor edx, edx
add eax, 0xc
cmp dword [eax], edi
je 0x4401a8
inc edx
lea eax, [eax + 0x10]
mov ecx, edx
cmp dword [eax], edi
jne 0x440196
test ecx, ecx
js 0x440224
mov edi, dword [ebp + 0x14]
cmp byte [edi], 0x4d
jne 0x4401b5
mov esi, dword [esi + 0x78]
jmp 0x4401db
mov esi, dword [ebx]
xor eax, eax
test esi, esi
jle 0x440224
mov edi, dword [edi + 0x1c]
lea ecx, [ebx + 0x34]
cmp edi, dword [ecx]
je 0x4401d1
inc eax
add ecx, 0x48
cmp eax, esi
jl 0x4401c3
jmp 0x440224
mov edi, dword [ebp + 0x14]
lea eax, [eax + eax*8]
mov esi, dword [ebx + eax*8 + 0x18]
test esi, esi
je 0x440224
movsx ecx, word [edi + 0x20]
test ecx, ecx
js 0x4401f1
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x44020c
movzx eax, word [esi + 0x20]
test ax, ax
js 0x440207
movsx ecx, ax
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x44020c
mov eax, str.ROWID
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esi]
push eax
call fcn.00454950
add esp, 8
cmp eax, 2
jne 0x440224
mov byte [edi], 0x78
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x10]
inc dword [eax + 0x10]
cmp eax, ecx
je 0x44023c
mov eax, dword [eax + 0xc]
inc dword [eax + 0x10]
cmp eax, ecx
jne 0x440232
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret