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

Disassembly:
sub esp, 0x3c
push ebx
mov ebx, dword [esp + 0x54]
xor eax, eax
push ebp
mov ebp, dword [esp + 0x48]
xor ecx, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x5c]
push esi
mov ebp, dword [ebp]
xor esi, esi
push edi
xor edi, edi
mov dword [eax + 0x1c], 0xffffffff
mov eax, dword [esp + 0x54]
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], 0xa7
test eax, eax
je 0x504e27
test byte [ebx + 0x18], 6
je 0x504db1
mov dword [esp + 0x54], ecx
jmp 0x504e27
mov ebx, dword [ebp + 0x14]
xor esi, esi
test ebx, ebx
jle 0x504df3
mov ebp, dword [ebp + 0x10]
mov edi, ebp
nop
push eax
push dword [edi]
call fcn.00546af0
add esp, 8
test eax, eax
je 0x504ddd
mov eax, dword [esp + 0x54]
inc esi
add edi, 0x10
cmp esi, ebx
jl 0x504dc0
jmp 0x504ded
mov eax, esi
add eax, eax
mov ecx, dword [ebp + eax*8 + 0xc]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x28], ecx
mov ebp, dword [esp + 0x2c]
xor edi, edi
cmp esi, ebx
jne 0x504e21
push eax
push str.main
call fcn.00546af0
mov ebx, dword [esp + 0x68]
add esp, 8
xor esi, esi
test eax, eax
jne 0x504e27
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x54], eax
jmp 0x504e27
mov ebx, dword [esp + 0x60]
xor esi, esi
mov edx, dword [esp + 0x58]
jmp 0x504e30
mov eax, dword [ebx + 4]
mov dword [esp + 0x40], eax
test eax, eax
je 0x505107
xor ecx, ecx
lea ebp, [eax + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ebp
cmp dword [eax], ecx
jle 0x5050d7
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x34], ebx
test eax, eax
je 0x504edf
test dword [eax + 4], 0x800
je 0x504edf
mov ebx, dword [eax + 0x1c]
xor esi, esi
xor ebp, ebp
cmp dword [ebx], esi
jle 0x504ecf
lea edi, [ebx + 8]
lea esp, [esp]
push dword [esp + 0x54]
push edx
push dword [esp + 0x64]
push edi
call fcn.00538a60
add esp, 0x10
test eax, eax
je 0x504eb7
mov eax, dword [esp + 0x1c]
mov ebp, 1
inc dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], 2
mov word [eax + 0x20], si
mov edx, dword [esp + 0x58]
inc esi
add edi, 0x14
cmp esi, dword [ebx]
jl 0x504e80
mov ecx, dword [esp + 0x20]
test ebp, ebp
jne 0x5050af
mov ebp, dword [esp + 0x1c]
test edx, edx
je 0x5050b3
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x504f31
mov esi, dword [esp + 0x28]
cmp dword [ebx + 0x3c], esi
jne 0x5050b3
test esi, esi
jne 0x504f31
mov ecx, 0x5833c0
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x504f20
test dl, dl
je 0x504f1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x504f20
add eax, 2
add ecx, 2
test dl, dl
jne 0x504f00
xor eax, eax
jmp 0x504f25
sbb eax, eax
or eax, 1
mov edx, dword [esp + 0x58]
test eax, eax
jne 0x50519c
test edx, edx
je 0x504fa3
mov edi, dword [ebp + 0xc]
mov edx, edi
test edi, edi
jne 0x504f40
mov edx, dword [ebx]
mov esi, dword [esp + 0x58]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x504f84
test ecx, ecx
jne 0x504f9a
mov eax, dword [esp + 0x50]
cmp byte [eax + 0xd0], 2
jb 0x504fa3
test edi, edi
je 0x504fa3
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x504fa3
mov ecx, dword [esp + 0x64]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x504f9d
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x504f77
jmp 0x504fa3
movzx eax, byte [eax + 0x59d610]
movzx ecx, byte [ecx + 0x59d610]
sub ecx, eax
jne 0x50518f
inc edx
jmp 0x504f46
mov dword [eax], 0
mov esi, dword [esp + 0x5c]
push esi
call fcn.00546b30
mov edx, dword [esp + 0x38]
add esp, 4
xor ebx, ebx
mov byte [esp + 0x13], al
movsx ebp, word [edx + 0x22]
mov edi, dword [edx + 4]
test ebp, ebp
jle 0x50506d
lea esp, [esp]
cmp byte [edi + 0xa], al
jne 0x50505d
mov edx, dword [edi]
sub esi, edx
lea ecx, [ecx]
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x505040
test eax, eax
jne 0x505052
mov eax, dword [esp + 0x18]
cmp eax, 1
jne 0x50501a
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x5c]
test byte [eax + 0x24], 4
jne 0x505059
push esi
push dword [eax + 0x34]
call fcn.00508680
add esp, 8
test eax, eax
jne 0x505059
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
movsx eax, word [edx + 0x20]
cmp ebx, eax
jne 0x5050a2
mov ebx, dword [esp + 0x64]
or eax, 0xffffffff
mov word [ebx + 0x20], ax
jmp 0x505071
movzx ecx, byte [ecx + 0x59d610]
movzx eax, byte [eax + 0x59d610]
sub eax, ecx
jne 0x505055
inc edx
jmp 0x504fe0
mov esi, dword [esp + 0x5c]
mov al, byte [esp + 0x13]
inc ebx
add edi, 0x10
cmp ebx, ebp
jl 0x504fd0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test esi, esi
jne 0x505182
test dword [edx + 0x1c], 0x200
mov edx, dword [esp + 0x58]
jne 0x505179
inc dword [esp + 0x24]
mov edi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], edi
jmp 0x5050bb
movsx eax, bx
mov ebx, dword [esp + 0x64]
mov word [ebx + 0x20], ax
jmp 0x505071
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
inc ecx
add ebp, 0x48
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ebp
cmp ecx, dword [eax]
jl 0x504e54
mov ebx, dword [esp + 0x60]
test edi, edi
je 0x5050ff
mov ecx, dword [esp + 0x64]
mov eax, dword [edi + 0x2c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x2c], eax
test byte [edi + 0x24], 8
je 0x5050f8
or dword [ecx + 4], 0x100000
mov ebp, dword [eax + 0x3c]
mov dword [esp + 0x28], ebp
test esi, esi
jne 0x505464
cmp dword [esp + 0x54], 0
jne 0x50535e
mov esi, dword [esp + 0x50]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esi + 0x78]
test eax, eax
je 0x50523d
cmp byte [esi + 0x95], 0
movzx edi, byte [esi + 0x94]
je 0x5051ad
test dword [ebx + 0x18], 0x400
je 0x50523d
test edx, edx
je 0x50515b
push dword [eax]
push edx
call fcn.00546af0
add esp, 8
test eax, eax
jne 0x50523d
mov ebx, dword [esp + 0x64]
xor eax, eax
cmp edi, 0x80
setne al
mov dword [ebx + 0x1c], eax
mov ebp, dword [esi + 0x78]
mov dword [esp + 0x1c], ebp
jmp 0x505241
mov ecx, dword [esp + 0x20]
jmp 0x5050b7
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
jmp 0x5050b7
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
jmp 0x5050b3
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
jmp 0x5050bb
cmp edi, 0x80
je 0x505204
test edx, edx
je 0x505204
mov esi, dword [esp + 0x58]
mov edx, 0x58f158
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x5051eb
test ecx, ecx
jne 0x5051fd
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x50]
mov dword [ebx + 0x1c], 1
mov ebp, dword [ebp + 0x78]
mov dword [esp + 0x1c], ebp
jmp 0x505241
movzx eax, byte [eax + 0x59d610]
movzx ecx, byte [ecx + 0x59d610]
sub ecx, eax
jne 0x505200
inc edx
jmp 0x5051c4
mov esi, dword [esp + 0x50]
cmp edi, 0x7f
je 0x50523d
mov eax, dword [esp + 0x58]
test eax, eax
je 0x505237
push eax
push 0x5a5bc0
call fcn.00546af0
mov ebx, dword [esp + 0x6c]
add esp, 8
test eax, eax
mov eax, dword [esp + 0x58]
jne 0x505245
mov dword [ebx + 0x1c], ebp
mov ebp, dword [esi + 0x78]
mov dword [esp + 0x1c], ebp
jmp 0x505245
mov ebx, dword [esp + 0x64]
jmp 0x505245
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
test dword [ecx + 0x18], 0x200
je 0x50528a
test eax, eax
je 0x50528a
mov edi, dword [ecx + 8]
test edi, edi
je 0x50528a
mov edx, str.excluded
mov esi, eax
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x5052f0
test ecx, ecx
jne 0x505302
mov eax, dword [edi + 0x20]
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x1c], ebp
mov dword [ebx + 0x1c], 2
test ebp, ebp
je 0x50535e
mov esi, dword [esp + 0x5c]
push esi
call fcn.00546b30
mov ecx, dword [ebp + 0x3c]
add esp, 4
mov edi, dword [ebp + 4]
xor ebx, ebx
movsx ebp, word [ebp + 0x22]
inc dword [esp + 0x24]
mov byte [esp + 0x13], al
mov dword [esp + 0x28], ecx
test ebp, ebp
jle 0x50532d
jmp 0x5052c0
cmp byte [edi + 0xa], al
jne 0x505325
mov edx, dword [edi]
sub esi, edx
lea esp, [esp]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x505308
test ecx, ecx
jne 0x50531a
mov esi, dword [esp + 0x1c]
movsx eax, word [esi + 0x20]
cmp ebx, eax
jne 0x505331
or ebx, 0xffffffff
jmp 0x505331
movzx eax, byte [eax + 0x59d610]
movzx ecx, byte [ecx + 0x59d610]
sub ecx, eax
jne 0x50528a
inc edx
jmp 0x505266
movzx eax, byte [eax + 0x59d610]
movzx ecx, byte [ecx + 0x59d610]
sub ecx, eax
jne 0x50531d
inc edx
jmp 0x5052d0
mov al, byte [esp + 0x13]
mov esi, dword [esp + 0x5c]
inc ebx
add edi, 0x10
cmp ebx, ebp
jl 0x5052c0
mov esi, dword [esp + 0x1c]
cmp ebx, ebp
jl 0x505477
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.00536d30
add esp, 4
test eax, eax
je 0x505356
test dword [esi + 0x1c], 0x200
jne 0x505356
or ebx, 0xffffffff
cmp ebx, ebp
jl 0x505477
cmp dword [esp + 0x24], 1
jne 0x5053b1
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x5053b1
mov esi, dword [esp + 0x60]
test byte [esi + 0x18], 0x28
mov esi, dword [esp + 0x5c]
jne 0x5053b5
push esi
call fcn.00536d30
add esp, 4
test eax, eax
je 0x5053b5
mov eax, dword [ebx + 0x10]
test dword [eax + 0x1c], 0x200
jne 0x5053b5
mov edx, dword [esp + 0x64]
or eax, 0xffffffff
mov edi, dword [esp + 0x50]
mov ebp, 1
mov word [edx + 0x20], ax
mov byte [edx + 1], 0x44
jmp 0x505912
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
test byte [ebx + 0x18], 0x80
je 0x50542f
test edx, edx
jne 0x50542f
mov ecx, dword [ebx + 8]
xor ebp, ebp
mov eax, dword [ecx]
mov dword [esp + 0x40], eax
test eax, eax
jle 0x50542f
lea ebx, [ecx + 0x14]
lea esp, [esp]
test byte [ebx], 3
mov edi, dword [ebx - 8]
jne 0x50541f
test edi, edi
jne 0x5053f4
mov ecx, esi
neg ecx
sbb ecx, ecx
jmp 0x505417
test esi, esi
je 0x50541f
mov edx, edi
sub esi, edi
lea esp, [esp]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x50544f
test ecx, ecx
jne 0x505461
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x5c]
test ecx, ecx
je 0x505643
inc ebp
add ebx, 0x14
cmp ebp, eax
jl 0x5053e0
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
mov ebx, dword [ebx + 0xc]
inc dword [esp + 0x3c]
mov dword [esp + 0x60], ebx
test ebx, ebx
je 0x50573b
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jmp 0x504e30
movzx eax, byte [eax + 0x59d610]
movzx ecx, byte [ecx + 0x59d610]
sub ecx, eax
jne 0x50540f
inc edx
jmp 0x505400
cmp esi, 1
je 0x505902
mov eax, str.ambiguous_column_name
jmp 0x505876
mov edx, dword [esp + 0x64]
mov ebp, 1
mov dword [esp + 0x14], 0
mov edi, dword [edx + 0x1c]
cmp edi, 2
jne 0x50552d
mov edi, dword [esp + 0x50]
cmp byte [edi + 0xd0], 2
jb 0x5054b5
mov word [edx + 0x20], bx
mov dword [edx + 0x2c], esi
mov dword [esp + 0x30], 0xa7
jmp 0x50590e
test byte [esi + 0x1c], 0x20
je 0x50550d
test bx, bx
js 0x50550d
movsx ecx, bx
xor esi, esi
mov ebx, dword [esp + 0x1c]
xor edx, edx
test ecx, ecx
jle 0x5054e3
mov eax, dword [ebx + 4]
mov esi, ecx
add eax, 0xe
test byte [eax], 0x20
jne 0x5054dd
inc edx
add eax, 0x10
dec ecx
jne 0x5054d7
mov eax, dword [ebx + 4]
mov ecx, esi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x20
je 0x505504
mov ax, word [ebx + 0x24]
sub ax, dx
mov edx, dword [esp + 0x64]
add ax, si
movzx ecx, ax
jmp 0x505510
movzx ecx, dx
mov edx, dword [esp + 0x64]
jmp 0x505510
movzx ecx, bx
mov esi, dword [esp + 0x60]
movsx ecx, cx
mov dword [esp + 0x30], 0xb0
mov eax, dword [esi + 8]
add ecx, dword [eax + 0x24]
mov dword [edx + 0x1c], ecx
jmp 0x50590e
mov eax, dword [esp + 0x50]
mov dword [edx + 0x2c], esi
cmp byte [eax + 0x95], 0
je 0x5055cc
mov byte [edx + 2], 0xa7
test byte [esi + 0x1c], 0x20
mov dword [esp + 0x30], 0xb0
je 0x5055ae
test bx, bx
js 0x5055ae
movsx ecx, bx
xor esi, esi
mov ebx, dword [esp + 0x1c]
xor edx, edx
test ecx, ecx
jle 0x50557c
mov eax, dword [ebx + 4]
mov esi, ecx
add eax, 0xe
nop
test byte [eax], 0x20
jne 0x505576
inc edx
add eax, 0x10
dec ecx
jne 0x505570
mov eax, dword [ebx + 4]
mov ecx, esi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x20
je 0x5055a1
mov ax, word [ebx + 0x24]
sub ax, dx
mov edx, dword [esp + 0x64]
add ax, si
mov esi, dword [esp + 0x1c]
movzx eax, ax
jmp 0x5055b1
mov esi, dword [esp + 0x1c]
movzx eax, dx
mov edx, dword [esp + 0x64]
jmp 0x5055b1
movzx eax, bx
movsx ecx, word [esi + 0x22]
mov esi, dword [esp + 0x60]
inc ecx
imul ecx, edi
cwde
inc eax
add ecx, dword [esi + 8]
add eax, ecx
mov dword [edx + 0x1c], eax
jmp 0x50590a
mov word [edx + 0x20], bx
mov dword [esp + 0x30], 0x4d
test ebx, ebx
jns 0x5055e7
mov byte [edx + 1], 0x44
mov edi, eax
jmp 0x50590e
test edi, edi
jne 0x505617
cmp ebx, 0x20
jl 0x505602
mov edi, dword [esp + 0x50]
or eax, 0xffffffff
or dword [edi + 0x8c], eax
jmp 0x50590e
mov edi, dword [esp + 0x50]
mov eax, ebp
mov ecx, ebx
shl eax, cl
or dword [edi + 0x8c], eax
jmp 0x50590e
cmp ebx, 0x20
jl 0x50562e
mov edi, dword [esp + 0x50]
or eax, 0xffffffff
or dword [edi + 0x90], eax
jmp 0x50590e
mov edi, dword [esp + 0x50]
mov eax, ebp
mov ecx, ebx
shl eax, cl
or dword [edi + 0x90], eax
jmp 0x50590e
mov ebx, dword [esp + 0x60]
lea eax, [ebp*4]
add eax, ebp
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0x18]
mov eax, dword [edx + eax*4 + 8]
test cl, 1
jne 0x505684
test byte [eax + 4], 0x10
je 0x505684
push edi
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x58]
call fcn.00524240
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x3c
ret
test dword [eax + 4], 0x8000
je 0x5056a5
test ecx, 0x4000
je 0x50569d
mov ecx, dword [esp + 0x38]
cmp ebx, ecx
je 0x5056a5
push edi
push str.misuse_of_aliased_window_function__s
jmp 0x50566b
mov cl, byte [eax]
cmp cl, 0xb0
jne 0x5056af
mov cl, byte [eax + 2]
cmp cl, 0xb1
jne 0x5056b9
mov eax, dword [eax + 0x14]
jmp 0x5056c4
cmp cl, 0x8a
jne 0x5056e9
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x5056e9
push str.row_value_misused
push dword [esp + 0x54]
call fcn.00524240
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
push eax
push dword [esp + 0x68]
push ebp
push edx
push edi
call fcn.00512000
mov edx, dword [esp + 0x78]
add esp, 0x14
cmp byte [edi + 0xd0], 2
jb 0x5059e3
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x5059e3
cmp dword [eax], edx
je 0x505730
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x505720
jmp 0x5059e3
mov dword [eax], 0
jmp 0x5059e3
test edx, edx
jne 0x505871
mov ebp, dword [esp + 0x64]
mov ebx, dword [ebp + 4]
test bl, 0x40
je 0x50579d
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0xb1], dl
jne 0x5057ea
mov ecx, dword [esp + 0x38]
test dword [ecx + 0x18], 0x10000
je 0x5057dd
mov ecx, dword [eax + 0x20]
xor edi, edi
mov eax, dword [eax + 0x24]
mov dword [esp + 0x48], eax
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x505793
test edi, edi
jne 0x505793
mov eax, ecx
and eax, 0x40000000
or eax, edi
jne 0x5057ea
and ecx, 0x20000000
or ecx, edi
jne 0x5057ea
test ebx, 0x4000400
jne 0x505871
mov edx, dword [ebp + 8]
mov edi, str.true
mov esi, edx
sub edi, edx
movzx ecx, byte [esi]
movzx eax, byte [edi + esi]
cmp ecx, eax
jne 0x505813
test ecx, ecx
jne 0x505825
mov eax, 0x10000000
mov byte [ebp], 0xaa
pop edi
or ebx, eax
lea eax, [ecx + 1]
pop esi
mov dword [ebp + 4], ebx
pop ebp
pop ebx
add esp, 0x3c
ret
mov eax, dword [eax + 0x20]
and eax, 0x40000000
or eax, 0
je 0x50579d
push esi
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.004d4490
add esp, 0xc
mov byte [ebp], 0x75
xor eax, eax
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x30], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
movzx eax, byte [eax + 0x59d610]
movzx ecx, byte [ecx + 0x59d610]
sub ecx, eax
jne 0x505828
inc esi
jmp 0x5057b5
mov esi, str.false
sub esi, edx
nop
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x505858
test ecx, ecx
jne 0x50586a
mov eax, 0x20000000
mov byte [ebp], 0xaa
pop edi
or ebx, eax
lea eax, [ecx + 1]
pop esi
mov dword [ebp + 4], ebx
pop ebp
pop ebx
add esp, 0x3c
ret
movzx eax, byte [eax + 0x59d610]
movzx ecx, byte [ecx + 0x59d610]
sub ecx, eax
jne 0x50586d
inc edx
jmp 0x505830
mov edx, dword [esp + 0x58]
mov eax, str.no_such_column
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x50]
push ecx
test ebx, ebx
je 0x50589a
push edx
push ebx
push eax
push str._s:__s._s._s
push edi
call fcn.00524240
add esp, 0x18
jmp 0x5058bf
test edx, edx
je 0x5058b0
push edx
push eax
push str._s:__s._s
push edi
call fcn.00524240
add esp, 0x14
jmp 0x5058bf
push eax
push str._s:__s
push edi
call fcn.00524240
add esp, 0x10
mov edx, dword [esp + 0x64]
mov eax, edx
mov ecx, dword [edi]
test byte [eax + 4], 1
jne 0x5058d3
cmp dword [eax + 0x24], 0
jg 0x5058eb
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x5058c7
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x18]
mov byte [edi + 0x11], 1
inc dword [eax + 0x14]
jmp 0x50590e
mov eax, dword [eax + 0x24]
mov ebp, dword [esp + 0x18]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x38]
mov byte [edi + 0x11], 1
inc dword [eax + 0x14]
jmp 0x50590e
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
movzx eax, word [edx + 0x20]
test ax, ax
js 0x505984
test ebx, ebx
je 0x505984
mov edx, dword [edx + 0x2c]
movsx esi, ax
test byte [edx + 0x1c], 0x60
je 0x505962
mov eax, dword [edx + 4]
mov ecx, esi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x60
je 0x505962
movzx eax, word [edx + 0x22]
cmp ax, 0x40
jl 0x50594b
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x50597a
movsx ecx, ax
xor edx, edx
mov eax, 1
call fcn.00415970
add eax, 0xffffffff
adc edx, 0xffffffff
jmp 0x50597a
cmp esi, 0x40
jl 0x50596c
mov esi, 0x3f
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.00415970
or dword [ebx + 0x38], eax
or dword [ebx + 0x3c], edx
mov edx, dword [esp + 0x64]
test dword [edx + 4], 0x804000
jne 0x5059c9
mov eax, dword [edx + 0xc]
mov esi, dword [esp + 0x2c]
test eax, eax
je 0x5059a6
push eax
push esi
call fcn.00527c90
mov edx, dword [esp + 0x6c]
add esp, 8
mov eax, dword [edx + 0x10]
mov dword [edx + 0xc], 0
test eax, eax
je 0x5059c2
push eax
push esi
call fcn.00527c90
mov edx, dword [esp + 0x6c]
add esp, 8
mov dword [edx + 0x10], 0
or dword [edx + 4], 0x800000
mov eax, dword [esp + 0x30]
mov byte [edx], al
cmp ebp, 1
jne 0x505677
mov ebx, dword [esp + 0x60]
mov eax, dword [edi]
cmp dword [eax + 0x168], 0
je 0x505a0a
mov al, byte [edx]
cmp al, 0xa7
je 0x5059f8
cmp al, 0x4d
jne 0x505a0a
push dword [ebx + 4]
mov ecx, dword [esp + 0x2c]
push ecx
push edx
push edi
call fcn.00518b30
add esp, 0x10
mov eax, dword [esp + 0x38]
inc dword [eax + 0x10]
cmp eax, ebx
je 0x505a1f
mov eax, dword [eax + 0xc]
inc dword [eax + 0x10]
cmp eax, ebx
jne 0x505a15
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x3c
ret