Function at 0x460c10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
mov eax, ecx
mov dword [esp + 8], 0
push esi
mov ebx, edx
mov dword [esp + 8], eax
push edi
mov ecx, dword [eax]
xor edx, edx
mov edi, dword [ebp + 0x14]
xor esi, esi
mov dword [esp + 0x40], edx
mov eax, 0xa2
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], eax
mov dword [edi + 0x1c], 0xffffffff
test ebx, ebx
je 0x460d15
test byte [edx + 0x18], 6
je 0x460c7f
mov dword [esp + 0x24], esi
jmp 0x460d15
xor edi, edi
cmp dword [ecx + 0x14], esi
jle 0x460d12
movzx eax, byte [ebx]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x3c], edx
movzx ecx, byte [eax + 0x515a20]
mov eax, edx
mov dword [esp + 0x48], ecx
mov edx, dword [eax]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
jne 0x460ce5
mov esi, dword [esp + 0x24]
sub esi, edx
nop dword [eax]
test bl, bl
je 0x460cfc
movzx eax, byte [esi + edx + 1]
inc edx
movzx ecx, byte [eax + 0x515a20]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
je 0x460cc0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
inc edi
mov eax, dword [esp + 0x3c]
add eax, 0x10
mov dword [esp + 0x3c], eax
cmp edi, dword [edx + 0x14]
jl 0x460ca1
jmp 0x460d0d
mov ecx, dword [esp + 0x30]
add edi, edi
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + edi*8 + 0xc]
mov dword [esp + 0x28], eax
mov edx, dword [ebp + 0x10]
xor esi, esi
mov edi, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov dword [esp + 0x5c], ecx
test ecx, ecx
je 0x460e1a
xor edx, edx
lea eax, [ecx + 8]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
cmp dword [ecx], edx
jle 0x460df6
nop dword [eax]
mov ebx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x38], ecx
test ebx, ebx
je 0x460ef0
test dword [ebx + 8], 0x800
je 0x460ef0
mov ebx, dword [ebx]
xor esi, esi
mov dword [esp + 0x3c], 0
cmp dword [ebx], esi
jle 0x460dcc
lea edi, [ebx + 0xc]
push dword [esp + 0x24]
mov edx, dword [ebp + 0xc]
push dword [ebp + 8]
mov ecx, dword [edi]
call fcn.00460b20
add esp, 8
test eax, eax
je 0x460db0
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x14], 2
mov word [eax + 0x20], si
mov eax, 1
mov dword [esp + 0x3c], eax
jmp 0x460db4
mov eax, dword [esp + 0x3c]
inc esi
add edi, 0x18
cmp esi, dword [ebx]
jl 0x460d72
mov edx, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x1c]
jne 0x460dd7
mov ecx, dword [esp + 0x38]
mov esi, dword [ebp + 8]
test esi, esi
jne 0x460ef3
mov esi, dword [esp + 0x18]
mov edi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x5c]
inc edx
add eax, 0x48
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
cmp edx, dword [ecx]
jl 0x460d40
test esi, esi
je 0x460e1a
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x2c], eax
test byte [esi + 0x24], 8
je 0x460e13
or dword [edi + 4], 0x100000
mov eax, dword [eax + 0x48]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x14]
jne 0x46136c
mov esi, dword [ebp + 8]
test esi, esi
je 0x46136c
test eax, eax
jne 0x46136c
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x78], 0
je 0x46115b
mov bh, byte [eax + 0x90]
cmp bh, 0x79
je 0x460ea6
movzx eax, byte [esi]
mov ecx, 0x6e
mov edx, 0x51ce20
movzx eax, byte [eax + 0x515a20]
sub ecx, eax
jne 0x460e9d
mov bl, 0x6e
sub esi, edx
test bl, bl
je 0x461140
movzx eax, byte [esi + edx + 1]
inc edx
movzx ecx, byte [eax + 0x515a20]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
je 0x460e75
mov esi, dword [ebp + 8]
cmp bh, 0x78
je 0x46115b
movzx eax, byte [esi]
mov ecx, 0x6f
mov edx, 0x51e97c
movzx eax, byte [eax + 0x515a20]
sub ecx, eax
jne 0x46115b
mov bl, 0x6f
sub esi, edx
test bl, bl
je 0x461149
movzx eax, byte [esi + edx + 1]
inc edx
movzx ecx, byte [eax + 0x515a20]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
je 0x460ec6
jmp 0x46115b
mov esi, dword [ebp + 8]
cmp dword [esp + 0x24], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x48], ebx
je 0x460f0f
mov ebx, dword [esp + 0x28]
cmp dword [ecx + 0x48], ebx
jne 0x460dd7
test esi, esi
je 0x460fa3
mov edi, dword [eax + 0xc]
mov edx, edi
test edi, edi
jne 0x460f22
mov edx, dword [ecx]
mov bl, byte [edx]
movzx eax, bl
movzx ecx, byte [eax + 0x515a20]
movzx eax, byte [esi]
movzx eax, byte [eax + 0x515a20]
sub ecx, eax
jne 0x460f61
sub esi, edx
nop
test bl, bl
je 0x460f6e
movzx eax, byte [esi + edx + 1]
inc edx
movzx ecx, byte [eax + 0x515a20]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
je 0x460f40
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
jmp 0x460dd7
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xc8], 2
jb 0x460fa3
test edi, edi
je 0x460fa3
mov eax, dword [eax + 0x110]
test eax, eax
je 0x460fa3
mov ecx, dword [ebp + 0x14]
add ecx, 0x2c
nop
cmp dword [eax], ecx
je 0x460f9d
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x460f90
jmp 0x460fa3
mov dword [eax], 0
mov eax, dword [esp + 0x38]
inc dword [esp + 0x14]
cmp dword [esp + 0x48], 0
mov esi, dword [esp + 0x1c]
cmovne esi, dword [esp + 0x18]
xor ecx, ecx
mov edx, dword [eax + 4]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x18], esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x46111c
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x2c]
movzx eax, byte [esi]
movzx edi, byte [eax + 0x515a20]
mov dword [esp + 0x48], edi
nop
mov edx, dword [edx]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, edi
jne 0x4610f8
sub esi, edx
test bl, bl
je 0x46102e
movzx eax, byte [esi + edx + 1]
inc edx
movzx ecx, byte [eax + 0x515a20]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
je 0x461008
jmp 0x4610f1
mov esi, dword [esp + 0x10]
cmp esi, 1
jne 0x4610bb
mov eax, dword [esp + 0x1c]
test byte [eax + 0x24], 4
jne 0x4610f1
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4610bb
mov ecx, dword [eax + 4]
xor edx, edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x58], ecx
test ecx, ecx
jle 0x4610bb
mov ebx, dword [eax]
mov esi, dword [ebx]
mov al, byte [esi]
movzx ecx, al
movzx ecx, byte [ecx + 0x515a20]
sub ecx, edi
jne 0x4610a9
mov edi, dword [ebp + 0xc]
sub edi, esi
nop word [eax + eax]
test al, al
je 0x4610ed
movzx ecx, byte [esi + edi + 1]
inc esi
movzx edx, byte [ecx + 0x515a20]
mov al, byte [esi]
movzx ecx, al
movzx ecx, byte [ecx + 0x515a20]
sub ecx, edx
je 0x461080
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
inc edx
add ebx, 8
mov dword [esp + 0x44], edx
cmp edx, dword [esp + 0x58]
jl 0x461063
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
inc esi
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
movsx eax, word [eax + 0x28]
mov dword [esp + 0x18], esi
cmp ecx, eax
jne 0x461129
mov edi, dword [ebp + 0x14]
or eax, 0xffffffff
mov edx, dword [esp + 0x20]
mov word [edi + 0x20], ax
mov eax, esi
jmp 0x460dde
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
inc eax
add edx, 0x10
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], edx
cmp eax, ecx
jl 0x460ff0
mov esi, dword [esp + 0x18]
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
jmp 0x460ddb
mov edi, dword [ebp + 0x14]
mov edx, dword [esp + 0x20]
movzx eax, cx
mov word [edi + 0x20], ax
mov eax, dword [esp + 0x1c]
jmp 0x460dde
mov dword [edi + 0x1c], 1
jmp 0x461150
mov dword [edi + 0x1c], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x10]
mov ecx, 0x200
test word [eax + 0x18], cx
je 0x4611b5
mov edi, dword [eax + 8]
test edi, edi
je 0x4611b5
mov esi, dword [ebp + 8]
mov ecx, 0x65
mov edx, str.excluded
movzx eax, byte [esi]
movzx eax, byte [eax + 0x515a20]
sub ecx, eax
jne 0x4611b5
mov bl, 0x65
sub esi, edx
nop
test bl, bl
je 0x461252
movzx eax, byte [esi + edx + 1]
inc edx
movzx ecx, byte [eax + 0x515a20]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
je 0x461190
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x461377
movsx ebx, word [edx + 0x2a]
xor esi, esi
mov eax, dword [edx + 0x48]
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], ebx
test ebx, ebx
jle 0x461280
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movzx edi, byte [eax + 0x515a20]
mov dword [esp + 0x58], edi
nop word [eax + eax]
mov edx, dword [ecx]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, edi
jne 0x461240
mov edi, dword [ebp + 0xc]
sub edi, edx
test bl, bl
je 0x46126b
movzx eax, byte [edx + edi + 1]
inc edx
movzx ecx, byte [eax + 0x515a20]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
je 0x461217
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x48]
inc esi
add ecx, 0x10
mov dword [esp + 0x4c], ecx
cmp esi, ebx
jl 0x461200
jmp 0x461284
mov eax, dword [edi + 0x14]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], edx
mov dword [eax + 0x1c], 2
jmp 0x4611b9
mov edx, dword [esp + 0x1c]
movsx eax, word [edx + 0x28]
cmp esi, eax
jne 0x46127c
or esi, 0xffffffff
jmp 0x4612af
mov ebx, dword [esp + 0x48]
cmp esi, ebx
jl 0x4612af
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.00465a60
test eax, eax
je 0x46137a
mov edx, dword [esp + 0x1c]
test byte [edx + 0x24], 0x40
jne 0x46137a
or esi, 0xffffffff
cmp esi, ebx
jge 0x461377
mov ebx, dword [ebp + 0x14]
inc dword [esp + 0x10]
mov eax, dword [ebx + 0x1c]
cmp eax, 2
jne 0x461304
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0x10]
cmp byte [eax + 0xc8], 2
jb 0x4612e5
mov word [ebx + 0x20], si
mov esi, dword [ebp + 0xc]
mov dword [ebx + 0x2c], edx
mov dword [esp + 0x34], 0xa2
jmp 0x461380
mov eax, dword [ecx + 8]
mov dword [esp + 0x34], 0xa8
mov eax, dword [eax + 0x18]
add eax, esi
or dword [ebx + 4], 0x400000
mov esi, dword [ebp + 0xc]
mov dword [ebx + 0x1c], eax
jmp 0x461380
test esi, esi
jns 0x46130e
mov byte [ebx + 1], 0x44
jmp 0x461358
test eax, eax
jne 0x46133b
cmp esi, 0x20
jl 0x461326
mov ecx, dword [esp + 0xc]
or eax, 0xffffffff
or dword [ecx + 0x88], eax
jmp 0x461358
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0xc]
or dword [ecx + 0x88], eax
jmp 0x461358
cmp esi, 0x20
jl 0x461345
or eax, 0xffffffff
jmp 0x46134e
mov eax, 1
mov ecx, esi
shl eax, cl
mov ecx, dword [esp + 0xc]
or dword [ecx + 0x8c], eax
mov word [ebx + 0x20], si
mov esi, dword [ebp + 0xc]
mov dword [ebx + 0x2c], edx
mov dword [esp + 0x34], 0x4d
jmp 0x46137d
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
jmp 0x461384
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], 0
jne 0x4613c8
cmp eax, 1
jne 0x4613c8
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4613c8
test byte [ecx + 0x18], 0x20
jne 0x4613c8
mov ecx, esi
call fcn.00465a60
test eax, eax
je 0x4613c8
mov eax, dword [edi + 0x10]
test byte [eax + 0x24], 0x40
jne 0x4613c8
mov esi, 1
mov byte [ebx + 1], 0x44
or eax, 0xffffffff
mov dword [esp + 0x10], esi
mov word [ebx + 0x20], ax
jmp 0x4613cc
mov esi, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x18]
test al, al
jns 0x461486
test esi, esi
jne 0x4615e7
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x461491
mov ebx, dword [edx + 8]
xor edi, edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], edi
cmp dword [ebx], edi
jle 0x461491
mov eax, dword [esp + 0x2c]
add ebx, 8
mov dword [esp + 0x4c], ebx
nop
mov ebx, dword [ebx]
test ebx, ebx
je 0x461469
mov dl, byte [ebx]
mov esi, ebx
movzx eax, dl
movzx ecx, byte [eax + 0x515a20]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x515a20]
sub ecx, eax
jne 0x461465
mov edi, dword [ebp + 0xc]
sub edi, ebx
nop word [eax + eax]
test dl, dl
je 0x4614ac
movzx eax, byte [edi + esi + 1]
inc esi
movzx ecx, byte [eax + 0x515a20]
mov dl, byte [esi]
movzx eax, dl
movzx eax, byte [eax + 0x515a20]
sub eax, ecx
je 0x461440
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x4c]
inc edi
add ebx, 0x18
mov dword [esp + 0x3c], edi
mov dword [esp + 0x4c], ebx
cmp edi, dword [eax]
jl 0x461410
mov esi, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
jmp 0x46148e
test esi, esi
jne 0x4615e7
mov ecx, dword [ebp + 8]
mov edx, dword [edx + 0xc]
inc dword [esp + 0x40]
mov dword [ebp + 0x10], edx
test edx, edx
je 0x46159b
mov esi, dword [esp + 0x18]
jmp 0x460d12
mov edi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
movzx edx, word [edi + 0x18]
lea eax, [ecx + ecx*2]
mov eax, dword [esi + eax*8 + 4]
test dl, 1
jne 0x4614eb
test byte [eax + 4], 0x10
je 0x4614eb
push ebx
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x14]
call fcn.0042fce0
add esp, 0xc
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, 0x4000
jne 0x461504
test dword [eax + 4], 0x8000
je 0x461504
push ebx
push str.misuse_of_aliased_window_function__s
jmp 0x4614d3
mov dl, byte [eax]
cmp dl, 0xa8
jne 0x46150e
mov dl, byte [eax + 0x26]
cmp dl, 0xa9
jne 0x461518
add eax, 0x14
jmp 0x461520
cmp dl, 0x83
jne 0x461544
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
cmp dword [eax], 1
je 0x461544
push str.row_value_misused
push dword [esp + 0x10]
call fcn.0042fce0
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x40]
mov edi, dword [ebp + 0x14]
push edx
push 0x51274f
push edi
mov edx, esi
mov esi, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00460950
add esp, 0x10
cmp byte [esi + 0xc8], 2
jb 0x4616de
mov eax, dword [esi + 0x110]
test eax, eax
je 0x4616de
nop
cmp dword [eax], edi
je 0x461590
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x461580
jmp 0x4616de
mov dword [eax], 0
jmp 0x4616de
test ecx, ecx
jne 0x4615ef
mov ebx, dword [ebp + 0x14]
test byte [ebx + 4], 0x40
je 0x4615d0
push dword [ebp + 0xc]
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.0042f2c0
add esp, 0xc
mov byte [ebx], 0x6e
mov dword [ebx + 0x2c], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.004655b0
test eax, eax
je 0x4615ec
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 1
je 0x461659
mov ecx, dword [ebp + 8]
push dword [ebp + 0xc]
test esi, esi
mov edx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, edx
mov edx, dword [esp + 0x28]
test edx, edx
je 0x46161f
push ecx
push edx
push eax
push str._s:__s._s._s
push dword [esp + 0x20]
call fcn.0042fce0
add esp, 0x18
jmp 0x46164a
test ecx, ecx
je 0x461638
push ecx
push eax
push str._s:__s._s
push dword [esp + 0x1c]
call fcn.0042fce0
add esp, 0x14
jmp 0x46164a
push eax
push str._s:__s
push dword [esp + 0x18]
call fcn.0042fce0
add esp, 0x10
mov eax, dword [esp + 0xc]
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x50]
inc dword [eax + 0x14]
mov edi, dword [ebp + 0x14]
movzx eax, word [edi + 0x20]
test ax, ax
js 0x461696
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x461696
movsx edx, ax
mov eax, 0x3f
cmp edx, 0x40
cmovge edx, eax
xor eax, eax
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or dword [ebx + 0x38], eax
or dword [ebx + 0x3c], ecx
mov edx, dword [edi + 0xc]
mov ebx, dword [esp + 0x30]
test edx, edx
je 0x4616a8
mov ecx, ebx
call fcn.00464300
mov edx, dword [edi + 0x10]
mov dword [edi + 0xc], 0
test edx, edx
je 0x4616bd
mov ecx, ebx
call fcn.00464300
mov eax, dword [esp + 0x34]
or dword [edi + 4], 0x800000
mov dword [edi + 0x10], 0
mov byte [edi], al
cmp esi, 1
jne 0x4614df
mov esi, dword [esp + 0xc]
test dword [edi + 4], 0x400000
jne 0x4617a1
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 4]
mov eax, dword [esi]
cmp dword [eax + 0x140], 0
je 0x4617a1
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4617a1
mov eax, dword [eax + 0x10]
xor edx, edx
add eax, 0xc
cmp dword [eax], ecx
je 0x461724
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x461718
test edx, edx
js 0x4617a1
cmp byte [edi], 0x4d
jne 0x46172e
mov esi, dword [esi + 0x78]
jmp 0x461758
mov esi, dword [ebx]
xor eax, eax
test esi, esi
jle 0x4617a1
mov edi, dword [edi + 0x1c]
lea ecx, [ebx + 0x34]
nop dword [eax]
cmp edi, dword [ecx]
je 0x46174e
inc eax
add ecx, 0x48
cmp eax, esi
jl 0x461740
jmp 0x4617a1
mov edi, dword [ebp + 0x14]
lea eax, [eax + eax*8]
mov esi, dword [ebx + eax*8 + 0x18]
test esi, esi
je 0x4617a1
movsx ecx, word [edi + 0x20]
test ecx, ecx
js 0x46176e
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x461789
movzx eax, word [esi + 0x28]
test ax, ax
js 0x461784
movsx ecx, ax
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x461789
mov eax, str.ROWID
mov ecx, dword [esp + 0xc]
push edx
mov edx, dword [esi]
push eax
call fcn.00471f20
add esp, 8
cmp eax, 2
jne 0x4617a1
mov byte [edi], 0x72
mov ecx, dword [esp + 0x50]
mov eax, dword [ebp + 0x10]
inc dword [ecx + 0x10]
cmp ecx, eax
je 0x4617ba
nop
mov ecx, dword [ecx + 0xc]
inc dword [ecx + 0x10]
cmp ecx, eax
jne 0x4617b0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret