Function at 0x43ed60
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, ecx
mov dword [esp + 0x2c], 0xa7
xor ecx, ecx
mov dword [esp + 0xc], eax
push ebx
push esi
mov ebx, dword [eax]
mov esi, edx
mov edx, dword [ebp + 0x10]
xor eax, eax
mov dword [esp + 0x44], ecx
mov ecx, dword [ebp + 0x14]
push edi
xor edi, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], eax
mov dword [ecx + 0x1c], 0xffffffff
test esi, esi
je 0x43ee69
test byte [edx + 0x18], 6
je 0x43edcc
mov dword [esp + 0x2c], eax
jmp 0x43ee69
mov eax, dword [ebx + 0x14]
xor edi, edi
mov dword [esp + 0x44], eax
test eax, eax
jle 0x43ee39
mov ebx, dword [ebx + 0x10]
nop dword [eax]
mov edx, dword [ebx]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x43ee10
test ecx, ecx
jne 0x43ee22
mov ebx, dword [esp + 0x24]
mov eax, edi
mov esi, dword [esp + 0x2c]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + eax*8 + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
jmp 0x43ee39
movzx eax, byte [eax + 0x5d40e0]
movzx ecx, byte [ecx + 0x5d40e0]
sub ecx, eax
jne 0x43ee25
inc edx
jmp 0x43ede4
mov eax, dword [esp + 0x44]
inc edi
mov esi, dword [esp + 0x2c]
add ebx, 0x10
cmp edi, eax
jl 0x43ede0
mov ebx, dword [esp + 0x24]
cmp edi, eax
jne 0x43ee65
mov edx, str.main
mov edi, esi
sub edi, edx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x43ee98
test eax, eax
jne 0x43eeaa
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
xor edi, edi
xor eax, eax
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + 4]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x50], ebx
test ebx, ebx
je 0x43f38c
xor ecx, ecx
lea esi, [ebx + 8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], esi
cmp dword [ebx], ecx
jle 0x43f356
jmp 0x43eeb3
movzx ecx, byte [eax + 0x5d40e0]
movzx eax, byte [esi + 0x5d40e0]
sub ecx, eax
jne 0x43ee65
inc edx
jmp 0x43ee46
mov edx, dword [ebp + 0xc]
test dword [esi + 0x28], 0x2000
mov ebx, dword [esi + 0x10]
mov dword [esp + 0x3c], ebx
je 0x43f03c
mov eax, dword [esp + 0x1c]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x44], ebx
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x4c], eax
cmp dword [eax], ebx
jle 0x43f029
lea edi, [eax + 0x14]
jmp 0x43eef3
mov edx, dword [ebp + 0xc]
push dword [esp + 0x2c]
lea ecx, [edi - 0xc]
push dword [ebp + 8]
call fcn.0043eb60
add esp, 8
test eax, eax
je 0x43f009
cmp dword [esp + 0x10], 0
jle 0x43efdd
mov eax, dword [esp + 0x1c]
test dword [eax + 0x28], 0x400
je 0x43ef4f
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 0x30]
call fcn.004569c0
test eax, eax
js 0x43ef4f
mov eax, dword [esp + 0x1c]
mov al, byte [eax + 0x24]
test al, 0x10
je 0x43f009
test al, 8
jne 0x43ef6c
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x43ef62
mov ecx, dword [esp + 0x24]
mov edx, eax
call fcn.00443d90
mov dword [esp + 0x20], 0
jmp 0x43efdd
mov eax, dword [ebp + 0x14]
push 0
push 0x34
movzx ebx, word [eax + 0x20]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
call fcn.00405d00
mov esi, eax
add esp, 8
test esi, esi
je 0x43efd9
push 0x34
push 0
push esi
call fcn.00563230
mov ecx, dword [esp + 0x20]
or eax, 0xffffffff
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov byte [esi], 0xa7
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x1c], eax
mov word [esi + 0x20], bx
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x18]
or dword [esi + 4], 0x200000
push esi
mov dword [esi + 0x2c], eax
call fcn.00443aa0
add esp, 4
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x44]
mov ecx, dword [ebp + 0x14]
mov esi, 1
inc dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], 2
mov word [ecx + 0x20], bx
or dword [edi], 0x40
test byte [edi], 0x80
mov dword [esp + 0x14], eax
jne 0x43f316
mov eax, dword [esp + 0x4c]
inc ebx
add edi, 0x14
mov dword [esp + 0x44], ebx
cmp ebx, dword [eax]
jl 0x43eef0
mov ecx, dword [esp + 0x28]
test esi, esi
jne 0x43f324
cmp dword [ebp + 8], 0
mov esi, dword [esp + 0x1c]
jne 0x43f048
mov edi, dword [esp + 0x10]
jmp 0x43f33a
cmp dword [ebp + 8], 0
je 0x43f15a
jmp 0x43f04c
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x43f093
mov edx, dword [esp + 0x30]
cmp dword [ebx + 0x3c], edx
jne 0x43f033
test edx, edx
jne 0x43f093
mov ecx, 0x5cd66c
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43f086
test dl, dl
je 0x43f082
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43f086
add eax, 2
add ecx, 2
test dl, dl
jne 0x43f066
xor eax, eax
jmp 0x43f08b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x43f332
mov edi, dword [esi + 0xc]
mov edx, dword [ebp + 8]
test edi, edi
je 0x43f0cc
mov esi, edi
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f0b3
test ecx, ecx
je 0x43f11a
inc edx
jmp 0x43f0a1
movzx eax, byte [eax + 0x5d40e0]
movzx ecx, byte [ecx + 0x5d40e0]
sub ecx, eax
jne 0x43f32e
inc edx
jmp 0x43f0a1
mov esi, dword [ebx]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f0e2
test ecx, ecx
je 0x43f11a
inc edx
jmp 0x43f0d0
movzx eax, byte [eax + 0x5d40e0]
movzx ecx, byte [ecx + 0x5d40e0]
sub ecx, eax
jne 0x43f0f7
inc edx
jmp 0x43f0d0
cmp dword [ebx + 0x14], 1
jne 0x43f32e
push dword [esp + 0x30]
mov ecx, dword [ebp + 8]
mov edx, ebx
call fcn.0043ecc0
add esp, 4
test eax, eax
je 0x43f32e
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xd8], 2
jb 0x43f153
test edi, edi
je 0x43f153
mov eax, dword [eax + 0x114]
test eax, eax
je 0x43f153
mov ecx, dword [ebp + 0x14]
add ecx, 0x2c
nop dword [eax + eax]
cmp dword [eax], ecx
je 0x43f14d
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x43f140
jmp 0x43f153
mov dword [eax], 0
mov esi, dword [esp + 0x1c]
mov edx, dword [ebp + 0xc]
mov ecx, edx
call fcn.00409e00
mov edx, dword [esp + 0x3c]
mov cl, al
xor ebx, ebx
mov byte [esp + 0xf], cl
movsx eax, word [edx + 0x22]
mov edi, dword [edx + 4]
mov dword [esp + 0x44], eax
test eax, eax
jle 0x43f231
cmp byte [edi + 0xa], cl
jne 0x43f221
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 0x43f1fd
test eax, eax
jne 0x43f20f
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x10], eax
jle 0x43f2ce
test dword [esi + 0x28], 0x400
je 0x43f1dd
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x30]
call fcn.004569c0
test eax, eax
js 0x43f1dd
test byte [esi + 0x24], 0x10
je 0x43f219
test byte [esi + 0x24], 8
jne 0x43f25d
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x43f1f0
mov ecx, dword [esp + 0x24]
mov edx, eax
call fcn.00443d90
mov dword [esp + 0x20], 0
jmp 0x43f2ce
movzx ecx, byte [ecx + 0x5d40e0]
movzx eax, byte [eax + 0x5d40e0]
sub eax, ecx
jne 0x43f215
inc edx
jmp 0x43f190
mov esi, dword [esp + 0x1c]
mov cl, byte [esp + 0xf]
mov eax, dword [esp + 0x44]
inc ebx
add edi, 0x10
cmp ebx, eax
jl 0x43f180
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x43f336
test dword [edx + 0x1c], 0x200
mov ecx, dword [esp + 0x28]
jne 0x43f33a
inc dword [esp + 0x34]
mov eax, esi
mov dword [esp + 0x14], eax
jmp 0x43f33e
mov eax, dword [ebp + 0x14]
push 0
push 0x34
movzx edi, word [eax + 0x20]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
call fcn.00405d00
mov esi, eax
add esp, 8
test esi, esi
je 0x43f2ca
push 0x34
push 0
push esi
call fcn.00563230
mov ecx, dword [esp + 0x20]
or eax, 0xffffffff
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov byte [esi], 0xa7
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x1c], eax
mov word [esi + 0x20], di
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x18]
or dword [esi + 4], 0x200000
push esi
mov dword [esi + 0x2c], eax
call fcn.00443aa0
add esp, 4
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
movsx eax, word [edx + 0x20]
cmp ebx, eax
jne 0x43f2ec
or eax, 0xffffffff
jmp 0x43f2ef
movsx eax, bx
mov ecx, dword [ebp + 0x14]
mov word [ecx + 0x20], ax
test dword [esi + 0x28], 0x2000
je 0x43f235
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x1c]
lea eax, [ebx + ebx*4]
or dword [ecx + eax*4 + 0x14], 0x40
jmp 0x43f235
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
jmp 0x43f33e
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
jmp 0x43f33a
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
inc ecx
add esi, 0x48
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [edx]
jl 0x43eeb0
test eax, eax
je 0x43f381
mov edx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
mov dword [edx + 0x1c], eax
mov eax, dword [ecx + 0x10]
mov dword [edx + 0x2c], eax
test byte [ecx + 0x24], 0x48
je 0x43f37a
or dword [edx + 4], 0x200000
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x30], eax
test edi, edi
jne 0x43f69b
mov ecx, dword [ebp + 8]
cmp dword [esp + 0x2c], 0
jne 0x43f5ea
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov esi, dword [eax + 0x7c]
test esi, esi
je 0x43f49d
movzx edi, byte [eax + 0x9c]
cmp byte [eax + 0x9d], bl
je 0x43f413
mov eax, dword [ebp + 0x10]
test dword [eax + 0x18], 0x400
je 0x43f49d
test ecx, ecx
je 0x43f3e4
mov esi, dword [esi]
mov edx, ecx
sub esi, ecx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f3fa
test ecx, ecx
jne 0x43f410
mov ecx, dword [ebp + 0x14]
xor eax, eax
cmp edi, 0x80
setne al
mov dword [ecx + 0x1c], eax
jmp 0x43f492
movzx eax, byte [eax + 0x5d40e0]
movzx ecx, byte [ecx + 0x5d40e0]
sub ecx, eax
jne 0x43f49d
inc edx
jmp 0x43f3d5
cmp edi, 0x80
je 0x43f460
test ecx, ecx
je 0x43f460
mov edx, 0x5cd670
mov esi, ecx
sub esi, edx
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f44b
test ecx, ecx
jne 0x43f45d
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x1c], 1
jmp 0x43f492
movzx eax, byte [eax + 0x5d40e0]
movzx ecx, byte [ecx + 0x5d40e0]
sub ecx, eax
jne 0x43f460
inc edx
jmp 0x43f430
cmp edi, 0x7f
je 0x43f49d
mov eax, dword [ebp + 8]
test eax, eax
je 0x43f4a0
mov edx, 0x5cd674
mov esi, eax
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f55a
test ecx, ecx
jne 0x43f570
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x1c], ebx
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x7c]
mov dword [esp + 0x28], ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
test dword [ecx + 0x18], 0x200
je 0x43f4eb
test eax, eax
je 0x43f4eb
mov edi, dword [ecx + 8]
test edi, edi
je 0x43f4eb
mov edx, str.excluded
mov esi, eax
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43f576
test ecx, ecx
jne 0x43f58c
mov eax, dword [edi + 0x20]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [eax + 0x1c], 2
test ebx, ebx
je 0x43f5ea
mov ecx, dword [ebp + 0xc]
call fcn.00409e00
mov ecx, dword [ebx + 0x3c]
xor esi, esi
inc dword [esp + 0x34]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x28]
mov byte [esp + 0xf], al
movsx edi, word [ecx + 0x22]
mov dword [esp + 0x44], edi
test edi, edi
jle 0x43f5bb
cmp byte [ebx + 0xa], al
jne 0x43f5af
mov edi, dword [ebp + 0xc]
mov edx, dword [ebx]
sub edi, edx
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x43f592
test ecx, ecx
jne 0x43f5a4
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x44]
movsx eax, word [ebx + 0x20]
cmp esi, eax
mov eax, 0xffffffff
cmove esi, eax
jmp 0x43f5bf
movzx eax, byte [eax + 0x5d40e0]
movzx ecx, byte [ecx + 0x5d40e0]
sub ecx, eax
jne 0x43f49d
inc edx
jmp 0x43f475
movzx eax, byte [eax + 0x5d40e0]
movzx ecx, byte [ecx + 0x5d40e0]
sub ecx, eax
jne 0x43f4eb
inc edx
jmp 0x43f4c0
movzx eax, byte [eax + 0x5d40e0]
movzx ecx, byte [ecx + 0x5d40e0]
sub ecx, eax
jne 0x43f5a7
inc edx
jmp 0x43f533
mov edi, dword [esp + 0x44]
mov al, byte [esp + 0xf]
inc esi
add ebx, 0x10
cmp esi, edi
jl 0x43f523
mov ebx, dword [esp + 0x28]
cmp esi, edi
jl 0x43f6ac
mov ecx, dword [ebp + 0xc]
call fcn.00444540
test eax, eax
je 0x43f5e2
test dword [ebx + 0x1c], 0x200
mov eax, 0xffffffff
cmove esi, eax
cmp esi, edi
jl 0x43f6ac
cmp dword [esp + 0x34], 1
jne 0x43f61e
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x43f61e
mov eax, dword [ebp + 0x10]
test byte [eax + 0x18], 0x28
jne 0x43f61e
mov ecx, dword [ebp + 0xc]
call fcn.00444540
test eax, eax
je 0x43f61e
mov eax, dword [ebx + 0x10]
test dword [eax + 0x1c], 0x200
je 0x43f7f0
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
test byte [ebx + 0x18], 0x80
je 0x43f67c
test ecx, ecx
jne 0x43f67c
mov eax, dword [ebx + 8]
xor edi, edi
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
test ecx, ecx
jle 0x43f679
lea esi, [eax + 0x14]
test byte [esi], 3
mov ebx, dword [esi - 8]
jne 0x43f66e
mov eax, dword [ebp + 0xc]
test ebx, ebx
jne 0x43f655
neg eax
sbb eax, eax
jmp 0x43f666
test eax, eax
je 0x43f66e
mov edx, eax
mov ecx, ebx
call fcn.00409d40
mov ecx, dword [esp + 0x50]
test eax, eax
je 0x43f808
inc edi
add esi, 0x14
cmp edi, ecx
jl 0x43f640
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebx + 0xc]
inc dword [esp + 0x48]
mov dword [ebp + 0x10], ebx
test ebx, ebx
je 0x43f8f3
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x43ee6f
mov esi, dword [ebp + 0x14]
cmp edi, 1
je 0x43fb1e
jmp 0x43f9b1
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ecx
mov edi, dword [eax + 0x1c]
cmp edi, 2
jne 0x43f718
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0xd8], 2
jb 0x43f6ec
mov edi, dword [esp + 0x10]
mov word [eax + 0x20], si
mov esi, eax
mov dword [esp + 0x38], 0xa7
mov dword [esi + 0x2c], ebx
jmp 0x43fb1e
mov edx, esi
mov ecx, ebx
call fcn.00451c30
mov esi, dword [ebp + 0x14]
mov edi, dword [esp + 0x10]
movsx ecx, ax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x38], 0xb0
mov eax, dword [eax + 8]
add ecx, dword [eax + 0x24]
mov dword [esi + 0x1c], ecx
jmp 0x43fb1e
mov edx, dword [esp + 0x18]
mov dword [eax + 0x2c], ebx
cmp byte [edx + 0x9d], cl
mov word [eax + 0x20], si
je 0x43f765
mov edx, esi
mov dword [esp + 0x38], 0xb0
mov ecx, ebx
mov byte [eax + 2], 0xa7
call fcn.00451c30
mov esi, dword [ebp + 0x14]
movsx ecx, ax
movsx eax, word [ebx + 0x22]
inc eax
imul eax, edi
mov edi, dword [esp + 0x10]
add ecx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
inc eax
add eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x43fb1e
mov dword [esp + 0x38], 0x4d
test esi, esi
jns 0x43f782
mov edi, dword [esp + 0x10]
mov esi, eax
mov ebx, ecx
mov byte [esi + 1], 0x44
jmp 0x43fb22
test edi, edi
jne 0x43f7bb
cmp esi, 0x20
jl 0x43f7a0
mov edi, dword [esp + 0x10]
or eax, 0xffffffff
or dword [edx + 0x90], eax
mov esi, dword [ebp + 0x14]
jmp 0x43fb1e
mov edi, dword [esp + 0x10]
mov ecx, esi
mov esi, dword [ebp + 0x14]
mov eax, 1
shl eax, cl
or dword [edx + 0x90], eax
jmp 0x43fb1e
cmp esi, 0x20
jl 0x43f7d5
mov edi, dword [esp + 0x10]
or eax, 0xffffffff
or dword [edx + 0x94], eax
mov esi, dword [ebp + 0x14]
jmp 0x43fb1e
mov edi, dword [esp + 0x10]
mov ecx, esi
mov esi, dword [ebp + 0x14]
mov eax, 1
shl eax, cl
or dword [edx + 0x94], eax
jmp 0x43fb1e
mov esi, dword [ebp + 0x14]
or eax, 0xffffffff
mov edi, 1
mov word [esi + 0x20], ax
mov byte [esi + 1], 0x44
jmp 0x43fb22
mov esi, dword [ebp + 0x10]
lea eax, [edi + edi*4]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x18]
mov eax, dword [edx + eax*4 + 8]
test cl, 1
jne 0x43f841
test byte [eax + 4], 0x10
je 0x43f841
push ebx
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x20]
call fcn.00409b70
add esp, 0xc
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [eax + 4], 0x8000
je 0x43f862
test ecx, 0x4000
je 0x43f85a
mov ecx, dword [esp + 0x40]
cmp esi, ecx
je 0x43f862
push ebx
push str.misuse_of_aliased_window_function__s
jmp 0x43f829
mov cl, byte [eax]
cmp cl, 0xb0
jne 0x43f86c
mov cl, byte [eax + 2]
cmp cl, 0xb1
jne 0x43f876
mov eax, dword [eax + 0x14]
jmp 0x43f881
cmp cl, 0x8a
jne 0x43f8a5
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x43f8a5
push str.row_value_misused
push dword [esp + 0x1c]
call fcn.00409b70
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x48]
mov esi, dword [ebp + 0x14]
mov ebx, dword [esp + 0x18]
push ecx
push esi
push edi
mov ecx, ebx
call fcn.0043ea50
add esp, 0xc
cmp byte [ebx + 0xd8], 2
jb 0x43fbfe
mov eax, dword [ebx + 0x114]
test eax, eax
je 0x43fbfe
cmp dword [eax], esi
je 0x43f8e8
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x43f8d8
jmp 0x43fbfe
mov dword [eax], 0
jmp 0x43fbfe
mov esi, dword [ebp + 0x14]
test ecx, ecx
jne 0x43f9ad
mov ebx, dword [esi + 4]
test bl, bl
jns 0x43f94f
mov eax, dword [esp + 0x24]
cmp byte [eax + 0xb1], cl
jne 0x43f984
mov ecx, dword [esp + 0x40]
test dword [ecx + 0x18], 0x10000
je 0x43f977
mov ecx, dword [eax + 0x20]
xor edx, edx
mov eax, dword [eax + 0x24]
mov dword [esp + 0x54], eax
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x43f945
test edx, edx
jne 0x43f945
mov eax, ecx
and eax, 0x40000000
or eax, edx
jne 0x43f984
and ecx, 0x20000000
or ecx, edx
jne 0x43f984
test ebx, 0x4000800
jne 0x43f9ad
mov ecx, dword [esi + 8]
call fcn.00443ec0
test eax, eax
je 0x43f9ad
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
mov eax, dword [eax + 0x20]
and eax, 0x40000000
or eax, 0
je 0x43f94f
push dword [ebp + 0xc]
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.00408a80
xorps xmm0, xmm0
mov byte [esi], 0x75
add esp, 0xc
movq qword [esi + 0x2c], xmm0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x43fa90
lea eax, [edi - 1]
cmp dword [ebx], eax
jne 0x43fa85
mov eax, dword [esi + 4]
test eax, 0x800000
je 0x43f9dc
and eax, 0xff7fffff
mov dword [esi + 4], eax
jmp 0x43fa0a
mov edx, dword [esi + 0xc]
mov edi, dword [esp + 0x24]
test edx, edx
je 0x43f9ee
mov ecx, edi
call fcn.00442c20
mov edx, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test edx, edx
je 0x43fa03
mov ecx, edi
call fcn.00442c20
mov dword [esi + 0x10], 0
mov eax, dword [esp + 0x18]
movzx edi, word [esi + 0x20]
push 0
push 0x34
mov ecx, dword [eax]
call fcn.00405d00
mov esi, eax
add esp, 8
test esi, esi
je 0x43fa70
push 0x34
push 0
push esi
call fcn.00563230
mov ecx, dword [esp + 0x20]
or eax, 0xffffffff
mov byte [esi], 0xa7
add esp, 0xc
mov word [esi + 0x22], ax
mov edx, ebx
mov dword [esi + 0x18], 1
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x1c], eax
mov word [esi + 0x20], di
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x18]
or dword [esi + 4], 0x200000
push esi
mov dword [esi + 0x2c], eax
call fcn.00443aa0
add esp, 4
mov ebx, eax
mov esi, dword [ebp + 0x14]
mov byte [esi], 0xac
mov dword [esi + 8], str.coalesce
mov dword [esi + 0x14], ebx
jmp 0x43fbfa
mov ecx, dword [esp + 0x24]
mov edx, ebx
call fcn.00443d90
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 + 0x30]
test ecx, ecx
je 0x43fac2
push dword [ebp + 8]
push ecx
push eax
push str._s:__s._s._s
push dword [esp + 0x2c]
call fcn.00409b70
add esp, 0x18
jmp 0x43faf0
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x43fade
push ecx
push eax
push str._s:__s._s
push dword [esp + 0x28]
call fcn.00409b70
add esp, 0x14
jmp 0x43faf0
push eax
push str._s:__s
push dword [esp + 0x24]
call fcn.00409b70
add esp, 0x10
mov edx, dword [esp + 0x18]
mov eax, esi
mov ecx, dword [edx]
test byte [eax + 4], 3
jne 0x43fb04
cmp dword [eax + 0x24], 0
jg 0x43fb0d
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x43faf8
jmp 0x43fb13
mov eax, dword [eax + 0x24]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x40]
mov byte [edx + 0x11], 1
inc dword [eax + 0x14]
mov ebx, dword [esp + 0x14]
test dword [esi + 4], 0x810000
jne 0x43fb60
mov edx, dword [esi + 0xc]
test edx, edx
je 0x43fb3b
mov ecx, dword [esp + 0x24]
call fcn.00442c20
mov edx, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test edx, edx
je 0x43fb52
mov ecx, dword [esp + 0x24]
call fcn.00442c20
or dword [esi + 4], 0x800000
mov dword [esi + 0x10], 0
movzx eax, word [esi + 0x20]
test ax, ax
js 0x43fbeb
test ebx, ebx
je 0x43fbeb
movsx esi, ax
mov eax, dword [ebp + 0x14]
mov edx, dword [eax + 0x2c]
test byte [edx + 0x1c], 0x60
je 0x43fbc2
mov eax, dword [edx + 4]
mov ecx, esi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x60
je 0x43fbc2
movzx eax, word [edx + 0x22]
cmp ax, 0x40
jl 0x43fba4
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x43fbe2
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 0x43fbe2
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
or dword [ebx + 0x38], ecx
or dword [ebx + 0x3c], edx
mov esi, dword [ebp + 0x14]
mov eax, dword [esp + 0x38]
mov byte [esi], al
cmp edi, 1
jne 0x43f835
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx]
cmp dword [eax + 0x16c], 0
je 0x43fc29
mov al, byte [esi]
cmp al, 0xa7
je 0x43fc13
cmp al, 0x4d
jne 0x43fc29
mov eax, dword [ebp + 0x10]
mov edx, esi
mov ecx, ebx
push dword [eax + 4]
push dword [esp + 0x34]
call fcn.00450470
add esp, 8
mov ecx, dword [esp + 0x40]
mov eax, dword [ebp + 0x10]
inc dword [ecx + 0x10]
cmp ecx, eax
je 0x43fc41
mov ecx, dword [ecx + 0xc]
inc dword [ecx + 0x10]
cmp ecx, eax
jne 0x43fc37
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret