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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov ecx, dword [ebp + 8]
xor eax, eax
push ebx
push esi
push edi
mov edx, dword [ecx]
xor esi, esi
mov edi, dword [ebp + 0x1c]
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], 0xa6
mov dword [edi + 0x1c], 0xffffffff
test ecx, ecx
je 0x535354
test byte [eax + 0x18], 6
je 0x5352e3
mov dword [ebp + 0xc], ebx
jmp 0x535354
mov ebx, dword [edx + 0x14]
xor esi, esi
test ebx, ebx
jle 0x535323
mov edi, dword [edx + 0x10]
nop
push ecx
push dword [edi]
call fcn.005713e0
add esp, 8
test eax, eax
je 0x53530c
mov ecx, dword [ebp + 0xc]
inc esi
add edi, 0x10
cmp esi, ebx
jl 0x5352f0
jmp 0x535320
mov edx, dword [ebp - 0x20]
mov eax, esi
add eax, eax
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + eax*8 + 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp + 0x1c]
cmp esi, ebx
jne 0x535350
push ecx
push str.main
call fcn.005713e0
add esp, 8
xor esi, esi
xor ebx, ebx
test eax, eax
jne 0x535354
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 0xc], eax
jmp 0x535354
xor esi, esi
xor ebx, ebx
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x44], ecx
test ecx, ecx
je 0x5355d7
xor edx, edx
lea eax, [ecx + 8]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], eax
cmp dword [ecx], edx
jle 0x5355a9
nop dword [eax + eax]
mov ebx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x34], ecx
test ebx, ebx
je 0x535410
test dword [ebx + 4], 0x800
je 0x535410
mov ebx, dword [ebx + 0x1c]
xor esi, esi
mov dword [ebp - 0x30], 0
cmp dword [ebx], esi
jle 0x535403
lea edi, [ebx + 8]
nop dword [eax]
push dword [ebp + 0xc]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push edi
call fcn.005628f0
add esp, 0x10
test eax, eax
je 0x5353e7
mov eax, dword [ebp - 0xc]
inc dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x18], 2
mov word [eax + 0x20], si
mov eax, 1
mov dword [ebp - 0x30], eax
jmp 0x5353ea
mov eax, dword [ebp - 0x30]
inc esi
add edi, 0x14
cmp esi, dword [ebx]
jl 0x5353b0
mov edx, dword [ebp - 0x14]
test eax, eax
mov eax, dword [ebp - 0xc]
jne 0x53558b
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x53558b
jmp 0x535413
mov esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], 0
mov ebx, dword [ebp - 0x18]
je 0x535428
mov edi, dword [ebp - 0x1c]
cmp dword [ecx + 0x48], edi
jne 0x53558b
test esi, esi
je 0x53549c
mov edi, dword [eax + 0xc]
mov edx, edi
test edi, edi
jne 0x535437
mov edx, dword [ecx]
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x53547d
test ecx, ecx
jne 0x535493
mov eax, dword [ebp + 8]
cmp byte [eax + 0xc8], 2
jb 0x53549c
test edi, edi
je 0x53549c
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x53549c
mov ecx, dword [ebp + 0x1c]
add ecx, 0x2c
nop
cmp dword [eax], ecx
je 0x535496
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x535470
jmp 0x53549c
movzx eax, byte [eax + 0x669d98]
movzx ecx, byte [ecx + 0x669d98]
sub ecx, eax
jne 0x535585
inc edx
jmp 0x535440
mov dword [eax], 0
inc dword [ebp - 0x18]
test ebx, ebx
mov eax, dword [ebp - 0xc]
cmovne eax, dword [ebp - 0x10]
mov esi, dword [ebp + 0x14]
push esi
mov dword [ebp - 0x10], eax
call fcn.00571420
mov cl, al
xor edi, edi
mov eax, dword [ebp - 0x34]
add esp, 4
mov byte [ebp - 1], cl
mov dword [ebp - 0x30], edi
mov ebx, dword [eax + 4]
movsx eax, word [eax + 0x2a]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], eax
test eax, eax
jle 0x535585
nop dword [eax]
cmp byte [ebx + 0xf], cl
jne 0x53556d
mov edx, dword [ebx]
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x535647
test ecx, ecx
jne 0x53565d
mov esi, dword [ebp - 8]
cmp esi, 1
jne 0x53568e
mov eax, dword [ebp - 0xc]
test byte [eax + 0x24], 4
jne 0x535564
mov eax, dword [eax + 0x34]
test eax, eax
je 0x53568e
mov ecx, dword [eax + 4]
xor ebx, ebx
mov dword [ebp - 0x40], ecx
test ecx, ecx
jle 0x53568e
mov edi, dword [eax]
nop dword [eax]
mov esi, dword [ebp + 0x14]
mov edx, dword [edi]
sub esi, edx
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x535663
test eax, eax
jne 0x535675
mov ebx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov cl, byte [ebp - 1]
mov esi, dword [ebp + 0x14]
inc edi
add ebx, 0x14
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], ebx
cmp edi, eax
jl 0x5354e0
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ebx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x44]
inc edx
add eax, 0x48
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], eax
cmp edx, dword [ecx]
jl 0x535380
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x5355cc
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x2c], eax
test byte [ebx + 0x24], 8
je 0x5355c6
or dword [edi + 4], 0x100000
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x1c], eax
test esi, esi
jne 0x535925
mov edx, dword [ebp + 0x18]
cmp dword [ebp + 0xc], 0
jne 0x535845
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0xc], ebx
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x535726
cmp byte [ecx + 0x91], 0
mov bl, byte [ecx + 0x90]
je 0x5356cd
test dword [edx + 0x18], 0x400
je 0x535723
test esi, esi
je 0x535631
push dword [eax]
push esi
call fcn.005713e0
add esp, 8
test eax, eax
jne 0x535723
mov ecx, dword [ebp + 8]
xor eax, eax
cmp bl, 0x7f
setne al
mov dword [edi + 0x1c], eax
mov ebx, dword [ecx + 0x78]
mov dword [ebp - 0xc], ebx
jmp 0x535726
movzx eax, byte [eax + 0x669d98]
movzx ecx, byte [ecx + 0x669d98]
sub ecx, eax
jne 0x535564
inc edx
jmp 0x5354f0
movzx ecx, byte [ecx + 0x669d98]
movzx eax, byte [eax + 0x669d98]
sub eax, ecx
jne 0x53567b
inc edx
jmp 0x535547
inc ebx
add edi, 8
cmp ebx, dword [ebp - 0x40]
jl 0x535540
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
inc esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 8], esi
movsx eax, word [eax + 0x28]
cmp edi, eax
jne 0x5356b8
mov edi, dword [ebp + 0x1c]
or eax, 0xffffffff
mov edx, dword [ebp - 0x14]
mov word [edi + 0x20], ax
mov eax, dword [ebp - 0xc]
jmp 0x535591
mov edx, dword [ebp - 0x14]
movzx eax, di
mov edi, dword [ebp + 0x1c]
mov word [edi + 0x20], ax
mov eax, dword [ebp - 0xc]
jmp 0x535591
cmp bl, 0x7f
je 0x5356ff
test esi, esi
je 0x5356fa
push esi
push 0x6710f4
call fcn.005713e0
add esp, 8
test eax, eax
jne 0x5356fa
mov eax, dword [ebp + 8]
mov dword [edi + 0x1c], 1
mov ebx, dword [eax + 0x78]
mov dword [ebp - 0xc], ebx
jmp 0x535726
cmp bl, 0x7e
je 0x535723
test esi, esi
je 0x535723
push esi
push 0x6710f8
call fcn.005713e0
add esp, 8
test eax, eax
jne 0x535723
mov dword [edi + 0x1c], eax
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x78]
mov dword [ebp - 0xc], ebx
jmp 0x535726
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x18]
test dword [eax + 0x18], 0x200
je 0x53576e
test esi, esi
je 0x53576e
mov edi, dword [eax + 8]
test edi, edi
je 0x53576e
mov edx, str.excluded
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x5357d3
test ecx, ecx
jne 0x5357e5
mov eax, dword [edi + 0x20]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xc], ebx
mov dword [eax + 0x1c], 2
test ebx, ebx
je 0x535842
push dword [ebp + 0x14]
call fcn.00571420
inc dword [ebp - 0x18]
mov cl, al
mov eax, dword [ebx + 0x48]
add esp, 4
mov ebx, dword [ebx + 4]
xor edi, edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov byte [ebp - 1], cl
movsx esi, word [eax + 0x2a]
mov dword [ebp - 0x3c], esi
test esi, esi
jle 0x535810
cmp byte [ebx + 0xf], cl
jne 0x535806
mov esi, dword [ebp + 0x14]
mov edx, dword [ebx]
sub esi, edx
nop
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x5357eb
test ecx, ecx
jne 0x5357fd
mov ebx, dword [ebp - 0xc]
movsx eax, word [ebx + 0x28]
cmp edi, eax
je 0x535936
mov esi, dword [ebp - 0x3c]
jmp 0x535813
movzx eax, byte [eax + 0x669d98]
movzx ecx, byte [ecx + 0x669d98]
sub ecx, eax
jne 0x53576e
inc edx
jmp 0x535744
movzx eax, byte [eax + 0x669d98]
movzx ecx, byte [ecx + 0x669d98]
sub ecx, eax
jne 0x535800
inc edx
jmp 0x5357b0
mov esi, dword [ebp - 0x3c]
mov cl, byte [ebp - 1]
inc edi
add ebx, 0x14
cmp edi, esi
jl 0x5357a2
jmp 0x535817
mov ebx, dword [ebp - 0xc]
cmp edi, esi
jl 0x535838
push dword [ebp + 0x14]
call fcn.00560d00
mov ebx, dword [ebp - 0xc]
add esp, 4
test eax, eax
je 0x535838
test dword [ebx + 0x24], 0x200
mov eax, 0xffffffff
cmove edi, eax
mov eax, edi
cmp edi, esi
jl 0x53593b
mov ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x18], 1
mov esi, dword [ebp + 0x14]
jne 0x535878
test ebx, ebx
je 0x535878
mov eax, dword [ebp + 0x18]
test byte [eax + 0x18], 0x28
jne 0x535878
push esi
call fcn.00560d00
add esp, 4
test eax, eax
je 0x535878
mov eax, dword [ebx + 0x10]
test dword [eax + 0x24], 0x200
je 0x535a4a
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
test byte [ebx + 0x18], 0x80
je 0x5358f1
test edx, edx
jne 0x5358f1
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x3c], edx
mov eax, dword [ecx]
mov dword [ebp - 0x44], eax
test eax, eax
jle 0x5358ee
lea edi, [ecx + 0x14]
nop word [eax + eax]
test byte [edi], 3
mov ebx, dword [edi - 8]
jne 0x5358e0
test ebx, ebx
jne 0x5358b4
mov ecx, esi
neg ecx
sbb ecx, ecx
jmp 0x5358d8
test esi, esi
je 0x5358e0
mov edx, ebx
sub esi, ebx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x535910
test ecx, ecx
jne 0x535922
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp + 0x14]
test ecx, ecx
je 0x535a62
inc edx
add edi, 0x14
mov dword [ebp - 0x3c], edx
cmp edx, eax
jl 0x5358a0
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebx + 0xc]
inc dword [ebp - 0x38]
mov dword [ebp + 0x18], ebx
test ebx, ebx
je 0x535b4b
mov esi, dword [ebp - 8]
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x10]
jmp 0x535354
movzx eax, byte [eax + 0x669d98]
movzx ecx, byte [ecx + 0x669d98]
sub ecx, eax
jne 0x5358cf
inc edx
jmp 0x5358c0
cmp esi, 1
je 0x535cdb
mov edx, dword [ebp + 0x10]
jmp 0x535c76
or edi, 0xffffffff
or eax, edi
mov edx, dword [ebp + 0x1c]
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 8], 1
mov esi, dword [edx + 0x1c]
movzx eax, ax
cmp esi, 2
jne 0x53599c
cmp byte [ecx + 0xc8], 2
jb 0x535974
mov word [edx + 0x20], ax
mov dword [edx + 0x2c], ebx
mov dword [ebp - 0x24], 0xa6
jmp 0x535cde
push eax
push ebx
call fcn.00571630
mov edx, dword [ebp + 0x1c]
add esp, 8
movsx ecx, ax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x24], 0xaf
mov eax, dword [eax + 8]
add ecx, dword [eax + 0x24]
mov dword [edx + 0x1c], ecx
jmp 0x535cde
mov dword [edx + 0x2c], ebx
cmp byte [ecx + 0x91], 0
je 0x5359da
push eax
push ebx
mov dword [ebp - 0x24], 0xaf
call fcn.00571630
mov edx, dword [ebp + 0x1c]
add esp, 8
movsx ecx, ax
movsx eax, word [ebx + 0x2a]
inc eax
imul eax, esi
add ecx, eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 8]
inc eax
add eax, ecx
mov dword [edx + 0x1c], eax
jmp 0x535cde
mov word [edx + 0x20], ax
mov dword [ebp - 0x24], 0x4d
test edi, edi
jns 0x5359f2
mov byte [edx + 1], 0x44
jmp 0x535cde
test esi, esi
jne 0x535a20
cmp edi, 0x20
jl 0x535a09
or eax, 0xffffffff
or dword [ecx + 0x88], eax
jmp 0x535cde
mov ecx, edi
mov eax, 1
shl eax, cl
mov ecx, dword [ebp + 8]
or dword [ecx + 0x88], eax
jmp 0x535cde
cmp edi, 0x20
jl 0x535a33
or eax, 0xffffffff
or dword [ecx + 0x8c], eax
jmp 0x535cde
mov ecx, edi
mov eax, 1
shl eax, cl
mov ecx, dword [ebp + 8]
or dword [ecx + 0x8c], eax
jmp 0x535cde
mov edx, dword [ebp + 0x1c]
or eax, 0xffffffff
mov edi, 1
mov word [edx + 0x20], ax
mov byte [edx + 1], 0x44
jmp 0x535ce1
mov ecx, dword [ebp + 0x18]
lea eax, [edx + edx*4]
test byte [ecx + 0x18], 1
mov esi, dword [ecx + 8]
mov eax, dword [esi + eax*4 + 8]
jne 0x535a98
test byte [eax + 4], 0x10
je 0x535a98
push ebx
push str.misuse_of_aliased_aggregate__s
push dword [ebp + 8]
call fcn.005530b0
add esp, 0xc
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret
test dword [eax + 4], 0x8000
je 0x535ab7
test dword [ecx + 0x18], 0x4000
je 0x535aaf
cmp ecx, dword [ebp - 0x28]
je 0x535ab7
push ebx
push str.misuse_of_aliased_window_function__s
jmp 0x535a81
mov cl, byte [eax]
cmp cl, 0xaf
jne 0x535ac1
mov cl, byte [eax + 2]
cmp cl, 0xb0
jne 0x535acb
mov eax, dword [eax + 0x14]
jmp 0x535ad6
cmp cl, 0x89
jne 0x535af7
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
je 0x535af7
push str.row_value_misused
push dword [ebp + 8]
call fcn.005530b0
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp + 8]
push eax
push dword [ebp + 0x1c]
push edx
push esi
push edi
call fcn.00540ec0
mov edx, dword [ebp + 0x1c]
add esp, 0x14
cmp byte [edi + 0xc8], 2
jb 0x535dbd
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x535dbd
nop word [eax + eax]
cmp dword [eax], edx
je 0x535b40
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x535b30
jmp 0x535dbd
mov dword [eax], 0
jmp 0x535dbd
test edx, edx
jne 0x535c73
mov edi, dword [ebp + 0x1c]
mov ebx, dword [edi + 4]
test bl, 0x40
je 0x535bce
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0xa9], dl
jne 0x535ba8
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x28]
test dword [eax + 0x18], 0x10000
je 0x535b9d
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x535b95
mov eax, ecx
and eax, 0x40000000
or eax, edx
jne 0x535ba8
and ecx, 0x20000000
jmp 0x535ba3
and ecx, 0x40000000
or ecx, 0
je 0x535bce
push esi
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.0051a330
add esp, 0xc
mov byte [edi], 0x74
mov dword [edi + 0x2c], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, 0x4000000
jne 0x535c73
mov edx, dword [edi + 8]
mov edi, 0x6946ec
mov esi, edx
sub edi, edx
movzx ecx, byte [esi]
movzx eax, byte [edi + esi]
cmp ecx, eax
jne 0x535c11
test ecx, ecx
jne 0x535c23
mov ecx, dword [ebp + 0x1c]
mov eax, 0x10000000
or ebx, eax
mov eax, 1
pop edi
pop esi
mov dword [ecx + 4], ebx
mov byte [ecx], 0xa9
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [eax + 0x669d98]
movzx ecx, byte [ecx + 0x669d98]
sub ecx, eax
jne 0x535c26
inc esi
jmp 0x535be6
mov esi, 0x6946f4
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x535c5b
test ecx, ecx
jne 0x535c6d
mov ecx, dword [ebp + 0x1c]
mov eax, 0x20000000
or ebx, eax
mov eax, 1
pop edi
pop esi
mov dword [ecx + 4], ebx
mov byte [ecx], 0xa9
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [eax + 0x669d98]
movzx ecx, byte [ecx + 0x669d98]
sub ecx, eax
jne 0x535c70
inc edx
jmp 0x535c30
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
test esi, esi
mov ecx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, ecx
mov ecx, dword [ebp + 0x14]
push ecx
test ebx, ebx
je 0x535ca5
push edx
push ebx
push eax
push str._s:__s._s._s
push dword [ebp + 8]
call fcn.005530b0
add esp, 0x18
jmp 0x535cce
test edx, edx
je 0x535cbd
push edx
push eax
push str._s:__s._s
push dword [ebp + 8]
call fcn.005530b0
add esp, 0x14
jmp 0x535cce
push eax
push str._s:__s
push dword [ebp + 8]
call fcn.005530b0
add esp, 0x10
mov eax, dword [ebp + 8]
mov byte [eax + 0x11], 1
mov eax, dword [ebp - 0x28]
inc dword [eax + 0x14]
mov edx, dword [ebp + 0x1c]
mov edi, dword [ebp - 8]
movzx eax, word [edx + 0x20]
test ax, ax
js 0x535d63
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x535d63
mov edx, dword [edx + 0x2c]
movsx esi, ax
test byte [edx + 0x24], 0x60
je 0x535d3a
mov eax, dword [edx + 4]
lea ecx, [esi + esi*4]
test byte [eax + ecx*4 + 0x10], 0x60
je 0x535d3a
movzx eax, word [edx + 0x2a]
cmp ax, 0x40
jl 0x535d1c
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x535d5a
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 0x535d5a
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 edx, dword [ebp + 0x1c]
test dword [edx + 4], 0x804000
jne 0x535da5
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 0x20]
test eax, eax
je 0x535d83
push eax
push ebx
call fcn.00556b50
mov edx, dword [ebp + 0x1c]
add esp, 8
mov eax, dword [edx + 0x10]
mov dword [edx + 0xc], 0
test eax, eax
je 0x535d9e
push eax
push ebx
call fcn.00556b50
mov edx, dword [ebp + 0x1c]
add esp, 8
mov dword [edx + 0x10], 0
mov eax, dword [ebp - 0x24]
or dword [edx + 4], 0x800000
mov byte [edx], al
cmp edi, 1
jne 0x535a8c
mov edi, dword [ebp + 8]
mov eax, dword [edi]
cmp dword [eax + 0x158], 0
je 0x535e91
mov cl, byte [edx]
cmp cl, 0xa6
je 0x535ddc
cmp cl, 0x4d
jne 0x535e91
mov ebx, dword [ebp + 0x18]
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
test esi, esi
je 0x535e91
mov eax, dword [eax + 0x10]
xor edx, edx
add eax, 0xc
cmp dword [eax], esi
je 0x535e10
nop dword [eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], esi
jne 0x535e00
test edx, edx
js 0x535e91
cmp cl, 0x4d
jne 0x535e1a
mov esi, dword [edi + 0x78]
jmp 0x535e48
mov esi, dword [ebx]
xor eax, eax
test esi, esi
jle 0x535e91
mov edi, dword [ebp + 0x1c]
lea ecx, [ebx + 0x34]
mov edi, dword [edi + 0x1c]
nop dword [eax + eax]
cmp edi, dword [ecx]
je 0x535e3e
inc eax
add ecx, 0x48
cmp eax, esi
jl 0x535e30
jmp 0x535e91
mov edi, dword [ebp + 8]
lea eax, [eax + eax*8]
mov esi, dword [ebx + eax*8 + 0x18]
test esi, esi
je 0x535e91
mov ebx, dword [ebp + 0x1c]
movsx eax, word [ebx + 0x20]
test eax, eax
js 0x535e62
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
jmp 0x535e7c
movzx eax, word [esi + 0x28]
test ax, ax
js 0x535e77
cwde
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
jmp 0x535e7c
mov eax, str.ROWID
push edx
push eax
push dword [esi]
push edi
call fcn.005482f0
add esp, 0x10
cmp eax, 2
jne 0x535e91
mov byte [ebx], 0x78
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp + 0x18]
inc dword [ecx + 0x10]
cmp ecx, eax
je 0x535eaa
nop
mov ecx, dword [ecx + 0xc]
inc dword [ecx + 0x10]
cmp ecx, eax
jne 0x535ea0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret