Function at 0x10047c60
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 dword [esp + 0x3c], eax
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x10]
push ebx
mov dword [esp + 0x24], eax
xor ebx, ebx
mov eax, dword [ebp + 0x14]
push esi
mov esi, edx
mov dword [esp + 0x18], ebx
push edi
xor edi, edi
mov dword [eax + 0x1c], 0xffffffff
xor edx, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], edi
mov eax, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0xa7
test esi, esi
je 0x10047d94
test byte [eax + 0x18], 6
je 0x10047cca
mov dword [esp + 0x18], edx
jmp 0x10047d96
mov ecx, dword [esp + 0x2c]
xor edi, edi
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x44], eax
test eax, eax
jle 0x10047d10
mov ebx, dword [ecx + 0x10]
nop
mov edx, dword [ebx]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x10047d4a
test ecx, ecx
jne 0x10047d5c
mov edx, dword [esp + 0x2c]
mov eax, edi
mov esi, dword [esp + 0x18]
add eax, eax
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + eax*8 + 0xc]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x30], edx
xor ebx, ebx
cmp edi, eax
jne 0x10047d89
mov edx, str.main
sub esi, edx
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x10047d74
test ecx, ecx
jne 0x10047d86
mov eax, dword [esp + 0x2c]
xor edi, edi
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x30], edx
mov edx, dword [eax]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x18], edx
jmp 0x10047d96
movzx eax, byte [eax + 0x1010f158]
movzx ecx, byte [ecx + 0x1010f158]
sub ecx, eax
jne 0x10047d5f
inc edx
jmp 0x10047ce4
mov eax, dword [esp + 0x44]
inc edi
mov esi, dword [esp + 0x18]
add ebx, 0x10
cmp edi, eax
jge 0x10047d0e
jmp 0x10047ce0
movzx eax, byte [eax + 0x1010f158]
movzx ecx, byte [ecx + 0x1010f158]
sub ecx, eax
jne 0x10047d89
inc edx
jmp 0x10047d20
mov edx, dword [esp + 0x18]
xor edi, edi
mov eax, dword [ebp + 0x10]
jmp 0x10047d96
mov edx, esi
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
test eax, eax
je 0x10048103
xor ecx, ecx
lea ebx, [eax + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
cmp dword [eax], ecx
jle 0x100480d0
nop word [eax + eax]
mov eax, dword [ebx + 0x14]
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x38], esi
test eax, eax
je 0x10047e63
test dword [eax + 4], 0x800
je 0x10047e63
mov ebx, dword [eax + 0x1c]
xor esi, esi
mov dword [esp + 0x44], 0
cmp dword [ebx], esi
jle 0x10047e4a
lea edi, [ebx + 8]
push edx
push dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, edi
call fcn.10047af0
add esp, 8
test eax, eax
je 0x10047e2e
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 + 0x44], eax
jmp 0x10047e32
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
inc esi
add edi, 0x14
cmp esi, dword [ebx]
jl 0x10047df3
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x100480ac
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
test edi, edi
je 0x100480b4
mov esi, dword [esp + 0x38]
jmp 0x10047e66
mov edi, dword [ebp + 8]
test edx, edx
je 0x10047eaf
mov eax, dword [esp + 0x30]
cmp dword [esi + 0x3c], eax
jne 0x100480b4
test eax, eax
jne 0x10047eaf
mov ecx, 0x10112d2c
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10047ea2
test dl, dl
je 0x10047e9e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10047ea2
add eax, 2
add ecx, 2
test dl, dl
jne 0x10047e82
xor eax, eax
jmp 0x10047ea7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1004818c
test edi, edi
je 0x10047f1c
mov ebx, dword [ebx + 0xc]
mov edx, ebx
test ebx, ebx
jne 0x10047ebe
mov edx, dword [esi]
sub edi, edx
movzx eax, byte [edx]
movzx esi, byte [edi + edx]
cmp eax, esi
jne 0x10047efd
test eax, eax
jne 0x10047f13
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xd0], 2
jb 0x10047f1c
test ebx, ebx
je 0x10047f1c
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x10047f1c
mov ecx, dword [ebp + 0x14]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x10047f16
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10047ef0
jmp 0x10047f1c
movzx ecx, byte [eax + 0x1010f158]
movzx eax, byte [esi + 0x1010f158]
sub ecx, eax
jne 0x10048172
inc edx
jmp 0x10047ec0
mov dword [eax], 0
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10012c80
mov edx, dword [esp + 0x38]
mov cl, al
xor edi, edi
mov byte [esp + 0xf], cl
mov dword [esp + 0x44], edi
movsx eax, word [edx + 0x22]
mov ebx, dword [edx + 4]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x40], eax
test eax, eax
jle 0x10047ff9
nop dword [eax]
cmp byte [ebx + 0xa], cl
jne 0x10047fe1
mov edx, dword [ebx]
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x1004802f
test ecx, ecx
jne 0x10048041
mov edx, dword [esp + 0x10]
cmp edx, 1
jne 0x10048075
mov eax, dword [esp + 0x20]
test byte [eax + 0x24], 4
jne 0x10047fd6
mov eax, dword [eax + 0x34]
test eax, eax
je 0x10048075
mov ecx, dword [eax + 4]
xor ebx, ebx
mov dword [esp + 0x50], ecx
test ecx, ecx
jle 0x10048075
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 0x10048047
test eax, eax
jne 0x10048059
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov cl, byte [esp + 0xf]
mov esi, dword [ebp + 0xc]
inc edi
add ebx, 0x10
mov dword [esp + 0x44], edi
mov dword [esp + 0x4c], ebx
cmp edi, eax
jl 0x10047f50
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
test edi, edi
jne 0x1004817f
test dword [edx + 0x1c], 0x200
mov edx, dword [esp + 0x18]
jne 0x10048194
inc dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
jmp 0x100480b8
movzx eax, byte [eax + 0x1010f158]
movzx ecx, byte [ecx + 0x1010f158]
sub ecx, eax
jne 0x10047fd6
inc edx
jmp 0x10047f60
movzx ecx, byte [ecx + 0x1010f158]
movzx eax, byte [eax + 0x1010f158]
sub eax, ecx
jne 0x1004805f
inc edx
jmp 0x10047fb7
inc ebx
add edi, 8
cmp ebx, dword [esp + 0x50]
jl 0x10047fb0
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
movsx eax, word [edx + 0x20]
cmp edi, eax
jne 0x1004809d
mov ebx, dword [ebp + 0x14]
or eax, 0xffffffff
mov word [ebx + 0x20], ax
jmp 0x10047ffd
mov ebx, dword [ebp + 0x14]
movzx eax, di
mov word [ebx + 0x20], ax
jmp 0x10047ffd
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
inc ecx
add ebx, 0x48
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
cmp ecx, dword [eax]
jl 0x10047dc0
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x100480fb
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 0x100480f4
or dword [ecx + 4], 0x100000
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x30], eax
test edi, edi
jne 0x1004847f
test edx, edx
jne 0x1004835c
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x10048235
mov bl, byte [ecx + 0x94]
cmp byte [ecx + 0x95], dl
je 0x100481b6
mov ecx, dword [ebp + 0x10]
test dword [ecx + 0x18], 0x400
je 0x10048235
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004815f
mov edi, dword [eax]
mov edx, ecx
sub edi, ecx
nop dword [eax]
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x1004819d
test eax, eax
jne 0x100481b3
mov ecx, dword [ebp + 0x14]
xor eax, eax
cmp bl, 0x80
setne al
mov dword [ecx + 0x1c], eax
jmp 0x1004822a
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
jmp 0x100480b0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
jmp 0x100480b8
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
jmp 0x100480b8
movzx ecx, byte [eax + 0x1010f158]
movzx eax, byte [esi + 0x1010f158]
sub ecx, eax
jne 0x10048235
inc edx
jmp 0x10048150
cmp bl, 0x80
je 0x10048205
mov eax, dword [ebp + 8]
test eax, eax
je 0x10048200
mov edx, 0x10115918
mov edi, eax
sub edi, edx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x100481eb
test eax, eax
jne 0x100481fd
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 0x1c], 1
jmp 0x1004822a
movzx ecx, byte [eax + 0x1010f158]
movzx eax, byte [esi + 0x1010f158]
sub ecx, eax
jne 0x10048200
inc edx
jmp 0x100481d0
cmp bl, 0x7f
je 0x10048235
mov eax, dword [ebp + 8]
test eax, eax
je 0x10048238
mov edx, 0x1011591c
mov edi, eax
sub edi, edx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x10048285
test eax, eax
jne 0x10048297
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 0x100482b2
test eax, eax
je 0x100482b2
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x100482b2
mov edx, str.excluded
mov edi, eax
sub edi, edx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x1004829d
test eax, eax
jne 0x100482af
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x20], eax
mov dword [ecx + 0x1c], 2
jmp 0x100482b6
movzx ecx, byte [eax + 0x1010f158]
movzx eax, byte [esi + 0x1010f158]
sub ecx, eax
jne 0x10048235
inc edx
jmp 0x10048215
movzx ecx, byte [eax + 0x1010f158]
movzx eax, byte [esi + 0x1010f158]
sub ecx, eax
jne 0x100482b2
inc edx
jmp 0x10048260
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10048358
mov ecx, dword [ebp + 0xc]
call fcn.10012c80
mov ecx, dword [esp + 0x20]
xor edi, edi
inc dword [esp + 0x28]
mov byte [esp + 0xf], al
movsx esi, word [ecx + 0x22]
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], esi
test esi, esi
jle 0x1004832b
nop word [eax + eax]
cmp byte [ebx + 0xa], al
jne 0x100483f4
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 0x100483d4
test ecx, ecx
jne 0x100483e6
mov ecx, dword [esp + 0x20]
movsx eax, word [ecx + 0x20]
cmp edi, eax
je 0x10048490
mov esi, dword [esp + 0x4c]
cmp edi, esi
jl 0x1004834e
mov ecx, dword [ebp + 0xc]
call fcn.1004d6f0
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x1004834e
test dword [ecx + 0x1c], 0x200
mov eax, 0xffffffff
cmove edi, eax
mov eax, edi
cmp edi, esi
jl 0x10048495
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x28], 1
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
jne 0x1004838e
test ebx, ebx
je 0x1004838e
test byte [edi + 0x18], 0x28
jne 0x1004838e
mov ecx, esi
call fcn.1004d6f0
test eax, eax
je 0x1004838e
mov eax, dword [ebx + 0x10]
test dword [eax + 0x1c], 0x200
je 0x100485d5
test byte [edi + 0x18], 0x80
mov ebx, dword [ebp + 8]
je 0x10048444
test ebx, ebx
jne 0x10048444
mov ecx, dword [edi + 8]
xor edx, edx
mov dword [esp + 0x4c], edx
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
test eax, eax
jle 0x10048444
lea edi, [ecx + 0x14]
nop dword [eax]
test byte [edi], 3
mov ebx, dword [edi - 8]
jne 0x10048432
test ebx, ebx
jne 0x10048405
mov ecx, esi
neg ecx
sbb ecx, ecx
jmp 0x1004842a
movzx eax, byte [eax + 0x1010f158]
movzx ecx, byte [ecx + 0x1010f158]
sub ecx, eax
jne 0x100483ec
inc edx
jmp 0x10048300
mov esi, dword [esp + 0x4c]
mov al, byte [esp + 0xf]
inc edi
add ebx, 0x10
cmp edi, esi
jl 0x100482f0
jmp 0x1004832f
test esi, esi
je 0x10048432
mov edx, ebx
sub esi, ebx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x1004846a
test ecx, ecx
jne 0x1004847c
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [ebp + 0xc]
test ecx, ecx
je 0x100485ed
inc edx
add edi, 0x14
mov dword [esp + 0x4c], edx
cmp edx, eax
jl 0x100483c0
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov edi, dword [edi + 0xc]
inc dword [esp + 0x48]
mov dword [ebp + 0x10], edi
test edi, edi
je 0x100486db
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x10]
jmp 0x10047d96
movzx eax, byte [eax + 0x1010f158]
movzx ecx, byte [ecx + 0x1010f158]
sub ecx, eax
jne 0x1004841f
inc edx
jmp 0x10048410
cmp edi, 1
je 0x10048849
mov ebx, dword [ebp + 8]
jmp 0x100487a2
or edi, 0xffffffff
or eax, edi
mov ebx, dword [ebp + 0x14]
xor edx, edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x1c], edx
movzx eax, ax
cmp dword [ebx + 0x1c], 2
jne 0x100484fb
mov edx, eax
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xd0], 2
jb 0x100484d6
mov edi, dword [esp + 0x10]
mov word [ebx + 0x20], dx
mov dword [ebx + 0x2c], ecx
mov dword [esp + 0x34], 0xa7
jmp 0x1004884c
call fcn.1005ea20
mov edi, dword [esp + 0x10]
movsx ecx, ax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x34], 0xb0
mov eax, dword [eax + 8]
add ecx, dword [eax + 0x24]
mov dword [ebx + 0x1c], ecx
jmp 0x1004884c
mov esi, dword [esp + 0x14]
mov dword [ebx + 0x2c], ecx
cmp byte [esi + 0x95], dl
mov esi, dword [ebx + 0x1c]
je 0x10048546
mov edx, eax
mov dword [esp + 0x34], 0xb0
mov byte [ebx + 2], 0xa7
call fcn.1005ea20
movsx ecx, ax
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
movsx eax, word [eax + 0x22]
inc eax
imul eax, esi
add ecx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
inc eax
add eax, ecx
mov dword [ebx + 0x1c], eax
jmp 0x1004884c
mov word [ebx + 0x20], ax
mov dword [esp + 0x34], 0x4d
test edi, edi
jns 0x10048563
mov edi, dword [esp + 0x10]
mov byte [ebx + 1], 0x44
jmp 0x10048850
test esi, esi
jne 0x1004859e
cmp edi, 0x20
jl 0x10048582
mov ecx, dword [esp + 0x14]
or eax, 0xffffffff
mov edi, dword [esp + 0x10]
or dword [ecx + 0x8c], eax
jmp 0x10048850
mov ecx, edi
mov eax, 1
mov edi, dword [esp + 0x10]
shl eax, cl
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x8c], eax
jmp 0x10048850
cmp edi, 0x20
jl 0x100485b9
mov ecx, dword [esp + 0x14]
or eax, 0xffffffff
mov edi, dword [esp + 0x10]
or dword [ecx + 0x90], eax
jmp 0x10048850
mov ecx, edi
mov eax, 1
mov edi, dword [esp + 0x10]
shl eax, cl
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x90], eax
jmp 0x10048850
mov ebx, dword [ebp + 0x14]
or eax, 0xffffffff
mov edi, 1
mov word [ebx + 0x20], ax
mov byte [ebx + 1], 0x44
jmp 0x1004884c
mov edi, dword [ebp + 0x10]
lea eax, [edx + edx*4]
test byte [edi + 0x18], 1
mov esi, dword [edi + 8]
mov eax, dword [esi + eax*4 + 8]
jne 0x10048624
test byte [eax + 4], 0x10
je 0x10048624
push ebx
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x1c]
call fcn.10012a20
add esp, 0xc
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [eax + 4], 0x8000
je 0x10048644
test dword [edi + 0x18], 0x4000
je 0x1004863c
cmp edi, dword [esp + 0x3c]
je 0x10048644
push ebx
push str.misuse_of_aliased_window_function__s
jmp 0x1004860c
mov cl, byte [eax]
cmp cl, 0xb0
jne 0x1004864e
mov cl, byte [eax + 2]
cmp cl, 0xb1
jne 0x10048658
mov eax, dword [eax + 0x14]
jmp 0x10048663
cmp cl, 0x8a
jne 0x10048685
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
je 0x10048685
push str.row_value_misused
push dword [esp + 0x18]
call fcn.10012a20
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x48]
mov ebx, dword [ebp + 0x14]
mov edi, dword [esp + 0x14]
mov ecx, edi
push eax
push ebx
push edx
mov edx, esi
call fcn.10047910
add esp, 0xc
cmp byte [edi + 0xd0], 2
jb 0x1004892a
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x1004892a
nop word [eax + eax]
cmp dword [eax], ebx
je 0x100486d0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x100486c0
jmp 0x1004892a
mov dword [eax], 0
jmp 0x1004892a
test ebx, ebx
jne 0x1004879e
mov edi, dword [ebp + 0x14]
mov ebx, dword [edi + 4]
test bl, 0x40
je 0x10048773
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0xb1], 0
jne 0x1004874c
mov ecx, dword [eax + 0x20]
mov eax, dword [esp + 0x3c]
test dword [eax + 0x18], 0x10000
je 0x10048741
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x10048727
mov eax, ecx
and eax, 0x40000000
or eax, 0
jne 0x1004874c
and ecx, 0x20000000
or ecx, 0
je 0x1004873b
mov eax, 1
test eax, eax
jmp 0x1004874a
xor eax, eax
test eax, eax
jmp 0x1004874a
and ecx, 0x40000000
or ecx, 0
je 0x10048773
push esi
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.10011fc0
xorps xmm0, xmm0
mov byte [edi], 0x75
add esp, 0xc
movq qword [edi + 0x2c], xmm0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, 0x4000400
jne 0x1004879b
mov ecx, dword [edi + 8]
call fcn.1004d180
test eax, eax
je 0x1004879b
or eax, ebx
mov byte [edi], 0xaa
mov dword [edi + 4], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edi, edi
mov ecx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, ecx
mov ecx, dword [ebp + 0xc]
push ecx
test edx, edx
je 0x100487d3
push ebx
push edx
push eax
push str._s:__s._s._s
push dword [esp + 0x28]
call fcn.10012a20
add esp, 0x18
jmp 0x100487fe
test ebx, ebx
je 0x100487ec
push ebx
push eax
push str._s:__s._s
push dword [esp + 0x24]
call fcn.10012a20
add esp, 0x14
jmp 0x100487fe
push eax
push str._s:__s
push dword [esp + 0x20]
call fcn.10012a20
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov ebx, dword [ebp + 0x14]
mov eax, ebx
mov edx, dword [ecx]
nop dword [eax]
test byte [eax + 4], 1
jne 0x1004881d
mov ecx, dword [eax + 0x24]
test ecx, ecx
jg 0x10048835
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10048810
mov eax, dword [esp + 0x14]
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x3c]
inc dword [eax + 0x14]
jmp 0x1004884c
mov eax, dword [esp + 0x14]
mov dword [edx + 0x44], ecx
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x3c]
inc dword [eax + 0x14]
jmp 0x1004884c
mov ebx, dword [ebp + 0x14]
mov edx, dword [esp + 0x1c]
movzx eax, word [ebx + 0x20]
test ax, ax
js 0x100488d1
test edx, edx
je 0x100488d1
mov edx, dword [ebx + 0x2c]
movsx esi, ax
test byte [edx + 0x1c], 0x60
je 0x100488a7
mov eax, dword [edx + 4]
mov ecx, esi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x60
je 0x100488a7
movzx eax, word [edx + 0x22]
cmp ax, 0x40
jl 0x10048889
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x100488c7
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 0x100488c7
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 0x1004890f
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x2c]
test edx, edx
je 0x100488f0
mov ecx, esi
call fcn.1004bdf0
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0x10]
mov dword [ebx + 0xc], 0
test edx, edx
je 0x10048908
mov ecx, esi
call fcn.1004bdf0
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 0x10048618
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
cmp dword [eax + 0x168], 0
je 0x10048a08
mov bl, byte [ebx]
cmp bl, 0xa7
je 0x10048949
cmp bl, 0x4d
jne 0x10048a08
mov ecx, dword [ebp + 0x10]
mov esi, dword [esp + 0x30]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x4c], ecx
test esi, esi
je 0x10048a08
mov eax, dword [eax + 0x10]
xor edx, edx
add eax, 0xc
cmp dword [eax], esi
je 0x10048986
nop dword [eax + eax]
inc edx
lea eax, [eax + 0x10]
mov ecx, edx
cmp dword [eax], esi
jne 0x10048970
test ecx, ecx
js 0x10048a08
mov ecx, dword [esp + 0x4c]
cmp bl, 0x4d
jne 0x10048993
mov esi, dword [edi + 0x78]
mov ebx, dword [ebp + 0x14]
jmp 0x100489c1
mov esi, dword [ecx]
xor eax, eax
test esi, esi
jle 0x10048a08
mov ebx, dword [ebp + 0x14]
add ecx, 0x34
mov edi, dword [ebx + 0x1c]
cmp edi, dword [ecx]
je 0x100489b2
inc eax
add ecx, 0x48
cmp eax, esi
jl 0x100489a4
jmp 0x10048a08
mov esi, dword [esp + 0x4c]
lea eax, [eax + eax*8]
mov edi, dword [esp + 0x14]
mov esi, dword [esi + eax*8 + 0x18]
test esi, esi
je 0x10048a08
movsx ecx, word [ebx + 0x20]
test ecx, ecx
js 0x100489d7
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x100489f2
movzx eax, word [esi + 0x20]
test ax, ax
js 0x100489ed
movsx ecx, ax
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x100489f2
mov eax, str.ROWID
push edx
mov edx, dword [esi]
mov ecx, edi
push eax
call fcn.1005ca00
add esp, 8
cmp eax, 2
jne 0x10048a08
mov byte [ebx], 0x79
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x10]
inc dword [ecx + 0x10]
cmp ecx, eax
je 0x10048a20
mov ecx, dword [ecx + 0xc]
inc dword [ecx + 0x10]
cmp ecx, eax
jne 0x10048a16
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret