Function at 0x45f320
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49ee92
mov eax, dword fs:[0]
push eax
sub esp, 0x1a8
mov eax, dword [0x4d7200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1a8], esi
mov eax, dword [ebp + 0xc]
lea ecx, [esi + 0x130]
mov ebx, dword [ebp + 8]
sub esp, 8
mov dword [ebp - 0x144], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1b0], ebx
mov dword [ebp - 0x1ac], eax
call fcn.0041b050
sub esp, 8
lea ecx, [esi + 0x168]
call fcn.0041b050
sub esp, 8
lea ecx, [esi + 0x1a0]
call fcn.0041b050
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0
movq qword [ebp - 0x120], xmm0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x120], 0
mov byte [ebp - 0x118], 1
mov dword [ebp - 4], 0
movq qword [ebp - 0x13c], xmm0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x13c], 0
mov byte [ebp - 0x134], 1
movq qword [ebp - 0x130], xmm0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x130], 0
mov byte [ebp - 0x128], 1
push ebx
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 2
call fcn.00401e50
mov esi, eax
cmp dword [esi], 0
jne 0x45f469
push 2
call fcn.0048a2cb
add esp, 4
mov dword [esi], eax
xor ecx, ecx
mov word [eax], cx
mov dword [esi + 4], ecx
push dword [ebp - 0x144]
mov edi, dword [esi]
lea ecx, [ebp - 0x130]
mov byte [esi + 8], 1
call fcn.00401e50
mov esi, eax
cmp dword [esi], 0
jne 0x45f4af
push 2
call fcn.0048a2cb
add esp, 4
mov dword [esi], eax
xor ecx, ecx
mov dword [ebp - 0x120], ecx
mov word [eax], cx
mov dword [esi + 4], ecx
mov byte [ebp - 0x118], cl
mov dword [ebp - 0x11c], ecx
jmp 0x45f4ca
mov dword [ebp - 0x120], 0
mov byte [ebp - 0x118], 0
mov dword [ebp - 0x11c], 0
mov eax, dword [esi]
mov ecx, 0x4c8390
mov ebx, 0x4c43a4
mov byte [esi + 8], 1
mov esi, eax
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x1a0], ebx
xor edx, edx
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x168], eax
nop word [eax + eax]
inc edx
cmp word [edx*2 + 0x4c309c], 0
jne 0x45f500
test eax, eax
jne 0x45f524
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x16c], ecx
jmp 0x45f570
mov ecx, dword [ebp - 0x168]
xor eax, eax
cmp word [ecx], ax
mov ecx, 0x4c8390
je 0x45f56e
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x168], ecx
mov ecx, 0x4c8390
mov dword [ebp - 0x16c], ecx
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x1a0], ebx
nop dword [eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x45f560
mov ecx, dword [ebp - 0x16c]
add edx, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c8390], 0
jne 0x45f572
add eax, edx
mov edx, edi
mov dword [ebp - 0x198], eax
test edx, edx
jne 0x45f5a8
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], ecx
mov ecx, eax
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x1a0], ebx
jmp 0x45f5e0
xor eax, eax
cmp word [edx], ax
je 0x45f5d8
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], ecx
mov ecx, edi
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x1a0], ebx
nop dword [eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x45f5d0
mov ecx, dword [ebp - 0x198]
add ecx, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c43a4], 0
jne 0x45f5e2
add ecx, eax
mov edx, 2
mov dword [ebp - 0x198], ecx
lea eax, [ecx + 1]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov ebx, 0x4c309c
mov dword [ebp - 0x190], eax
add esp, 4
mov ecx, eax
mov edx, 0x46
sub ebx, eax
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + ebx]
mov edx, eax
test ax, ax
jne 0x45f626
mov eax, dword [ebp - 0x168]
mov ebx, dword [ebp - 0x1a0]
test eax, eax
je 0x45f662
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x45f662
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x45f651
mov edx, dword [ebp - 0x16c]
mov eax, 0x20
nop dword [eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x45f670
mov eax, edi
test eax, eax
je 0x45f6a2
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x45f6a2
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x45f691
mov eax, 0x2e
mov word [ecx], ax
lea ebx, [ebx + 2]
movzx eax, word [ebx]
lea ecx, [ecx + 2]
test ax, ax
jne 0x45f6a7
mov ebx, dword [ebp - 0x1a8]
xor eax, eax
mov edi, dword [ebp - 0x190]
mov word [ecx], ax
mov eax, dword [ebp - 0x198]
push edi
push 0xffffffffffffffff
lea ecx, [ebx + 0x5b0]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x118], 1
call fcn.0041a070
mov ecx, ebx
call fcn.0042ee70
push 0
push dword [ebp - 0x144]
mov ecx, ebx
push dword [ebp - 0x1b0]
call fcn.0042f1e0
test eax, eax
jne 0x45f717
xor esi, esi
jmp 0x460617
push 0x43a2f0
push 0x445bd0
push 8
push 0x20
lea eax, [ebp - 0x114]
push eax
call fcn.0048a300
mov dword [ebp - 0x140], 0
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x18c], 0
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c2144], 0
jne 0x45f752
mov dword [ebp - 0x188], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45f7af
mov ax, word [ecx*2 + 0x4c2144]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45f792
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x184], 1
mov edi, dword [ebp - 0x1a4]
mov eax, 8
mov byte [ebp - 4], 5
mov word [ebp - 0x17c], ax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push edi
mov dword [ebp - 0x19c], eax
call eax
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x45f7f2
test edi, edi
jne 0x46066a
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x114]
call fcn.00401560
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x104]
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
mov dword [ebp - 0x16c], eax
call eax
test eax, eax
js 0x460674
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
mov dword [ebp - 0x168], esi
call esi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45f857
push eax
call fcn.00489f13
add esp, 4
mov ebx, dword [ebp - 0x124]
test ebx, ebx
je 0x45f97b
xor eax, eax
cmp word [ebx], ax
je 0x45f878
nop dword [eax]
inc eax
cmp word [ebx + eax*2], 0
jne 0x45f870
test eax, eax
je 0x45f97b
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c23c4], 0
jne 0x45f893
mov dword [ebp - 0x188], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45f8f0
mov ax, word [ecx*2 + 0x4c23c4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45f8d3
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x184], 1
mov eax, 8
mov byte [ebp - 4], 7
push ebx
mov word [ebp - 0x17c], ax
call dword [ebp - 0x19c]
mov dword [ebp - 0x174], eax
test eax, eax
je 0x46067a
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0xf4]
mov ebx, 2
call fcn.00401560
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0xe4]
push eax
call dword [ebp - 0x16c]
test eax, eax
js 0x460684
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call esi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45f980
push eax
call fcn.00489f13
add esp, 4
jmp 0x45f980
mov ebx, 1
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c30d0], 0
jne 0x45f993
mov dword [ebp - 0x188], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45f9f0
mov ax, word [ecx*2 + 0x4c30d0]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45f9d3
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x184], 1
movzx eax, byte [ebp + 0x1c]
neg eax
mov word [ebp - 0x17c], si
sbb eax, eax
movzx eax, ax
mov word [ebp - 0x174], ax
mov eax, ebx
mov byte [ebp - 4], 0xa
shl eax, 5
lea esi, [ebp - 0x114]
add esi, eax
inc ebx
lea eax, [ebp - 0x18c]
mov ecx, esi
push eax
call fcn.00401560
lea ecx, [ebp - 0x17c]
lea eax, [esi + 0x10]
push ecx
push eax
call dword [ebp - 0x16c]
test eax, eax
js 0x46068a
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call dword [ebp - 0x168]
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fa73
push eax
call fcn.00489f13
add esp, 4
or esi, 0xffffffff
cmp byte [ebp + 0x24], 0
je 0x45fb6d
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c9c3c], 0
jne 0x45fa93
mov dword [ebp - 0x188], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45faf0
mov ax, word [ecx*2 + 0x4c9c3c]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fad3
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x184], 1
mov eax, 2
mov word [ebp - 0x174], si
mov word [ebp - 0x17c], ax
mov eax, ebx
mov byte [ebp - 4], 0xc
shl eax, 5
lea esi, [ebp - 0x114]
add esi, eax
inc ebx
lea eax, [ebp - 0x18c]
mov ecx, esi
push eax
call fcn.00401560
lea ecx, [ebp - 0x17c]
lea eax, [esi + 0x10]
push ecx
push eax
call dword [ebp - 0x16c]
test eax, eax
js 0x460690
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call dword [ebp - 0x168]
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fb6d
push eax
call fcn.00489f13
add esp, 4
cmp byte [ebp + 0x28], 0
je 0x45fde0
cmp edi, 0x4c80b4
je 0x45fbac
test edi, edi
je 0x45fde0
mov esi, 0x4c80b4
sub edi, esi
mov dword [ebp - 0x1a4], edi
movzx eax, word [edi + esi]
mov ecx, eax
test ax, ax
jne 0x45fc75
cmp word [esi], ax
jne 0x45fc7a
xor al, al
mov dword [ebp - 0x18c], 0
mov byte [ebp - 0x184], al
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c9c50], 0
jne 0x45fbc0
mov dword [ebp - 0x188], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fc1d
mov ax, word [ecx*2 + 0x4c9c50]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fc00
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x184], 1
or eax, 0xffffffff
mov word [ebp - 0x17c], si
mov word [ebp - 0x174], ax
mov eax, ebx
mov byte [ebp - 4], 0xe
shl eax, 5
lea esi, [ebp - 0x114]
add esi, eax
lea eax, [ebp - 0x18c]
push eax
mov ecx, esi
call fcn.00401560
lea ecx, [ebp - 0x17c]
lea eax, [esi + 0x10]
push ecx
push eax
call dword [ebp - 0x16c]
test eax, eax
js 0x460696
jmp 0x45fcca
cmp ax, word [esi]
je 0x45fcc2
xor edx, edx
cmp dx, ax
jne 0x45fc85
xor edi, edi
jmp 0x45fc91
push ecx
call fcn.0048e184
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x45fca1
xor eax, eax
jmp 0x45fcad
push ecx
call fcn.0048e184
add esp, 4
movzx eax, ax
cmp di, ax
jb 0x45fde0
ja 0x45fde0
mov edi, dword [ebp - 0x1a4]
add esi, 2
jmp 0x45fb94
mov edi, dword [ebp - 0x168]
lea eax, [ebp - 0x17c]
push eax
mov byte [ebp - 4], 4
call edi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fcf0
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c9c68], 0
jne 0x45fd03
mov dword [ebp - 0x188], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fd60
mov ax, word [ecx*2 + 0x4c9c68]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fd43
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, 0x17
mov byte [ebp - 0x184], 1
mov word [ebp - 0x17c], ax
mov dword [ebp - 0x174], 0x10000
mov eax, ebx
mov byte [ebp - 4], 0xf
shl eax, 5
lea esi, [ebp - 0xf4]
add esi, eax
add ebx, 2
lea eax, [ebp - 0x18c]
mov ecx, esi
push eax
call fcn.00401560
lea ecx, [ebp - 0x17c]
lea eax, [esi + 0x10]
push ecx
push eax
call dword [ebp - 0x16c]
test eax, eax
js 0x46069c
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call edi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fde6
push eax
call fcn.00489f13
add esp, 4
jmp 0x45fde6
mov edi, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x1a8]
lea eax, [ebp - 0x140]
push eax
push ebx
lea eax, [ebp - 0x114]
mov edx, dword [ecx + 0x1a8]
mov ecx, dword [ecx + 0x1a0]
push eax
push 0x4c30e8
call fcn.0041a920
test al, al
jne 0x45fe1f
mov esi, 0xfffffffd
jmp 0x4605e4
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x154]
mov esi, dword [ebp - 0x140]
push eax
mov dword [ebp - 0x1a4], ebx
call ebx
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x11
push eax
call ebx
test esi, esi
je 0x45fea3
mov eax, dword [esi]
lea ecx, [ebp - 0x154]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x45fea3
cmp word [ebp - 0x154], 8
jne 0x45fe86
push dword [ebp - 0x14c]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x45fe8c
mov esi, dword [ebp - 0x14c]
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 4
push eax
call edi
test esi, esi
jne 0x4605e4
jmp 0x45feb2
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 4
push eax
call edi
xor esi, esi
mov ecx, dword [ebp - 0x1ac]
test ecx, ecx
je 0x4605e4
xor eax, eax
cmp word [ecx], ax
je 0x4605e4
nop dword [eax + eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x45fed0
test eax, eax
je 0x4605e4
push dword [ebp - 0x144]
lea ecx, [ebp - 0x130]
call fcn.00401e50
mov esi, dword [ebp - 0x13c]
test esi, esi
jne 0x45ff1c
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x13c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x12c]
mov byte [ebp - 0x134], 1
mov byte [ebp - 0x128], 0
test eax, eax
jne 0x45ff51
mov ecx, dword [ebp - 0x130]
test ecx, ecx
je 0x45ff4b
cmp word [ecx], ax
je 0x45ff4b
inc eax
cmp word [ecx + eax*2], 0
jne 0x45ff43
mov dword [ebp - 0x12c], eax
xor ecx, ecx
inc ecx
cmp word [ecx*2 + 0x4c2048], 0
jne 0x45ff53
add ecx, eax
test esi, esi
je 0x45ff7a
xor eax, eax
cmp word [esi], ax
je 0x45ff78
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x45ff70
add ecx, eax
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c2258], 0
jne 0x45ff80
add ecx, eax
mov edx, 2
mov dword [ebp - 0x1b0], ecx
lea eax, [ecx + 1]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x130]
mov edi, 0x4c2048
add esp, 4
mov dword [ebp - 0x124], eax
mov ecx, eax
mov ebx, 0x53
sub edi, eax
nop word [eax + eax]
mov word [ecx], bx
add ecx, 2
movzx eax, word [edi + ecx]
mov ebx, eax
test ax, ax
jne 0x45ffd0
mov edi, 0x4c2258
test esi, esi
je 0x460005
movzx eax, word [esi]
mov ebx, eax
test ax, ax
je 0x460005
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x45fff4
mov eax, 0x20
nop word [eax + eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x460010
cmp dword [ebp - 0x130], 0
je 0x460045
movzx eax, word [edx]
mov esi, eax
test ax, ax
je 0x460045
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x460034
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x130]
test eax, eax
je 0x46005d
push eax
call fcn.00489f13
add esp, 4
mov ebx, dword [ebp - 0x1a8]
mov edi, dword [ebp - 0x124]
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x130], edi
cmp byte [ebx + 0x188], 0
mov dword [ebp - 0x12c], eax
mov byte [ebp - 0x128], 1
jne 0x46009b
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x46009b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebx + 0x170], 0
mov edx, edi
mov ecx, dword [ebx + 0x168]
call fcn.0041a6c0
mov ecx, dword [ebx + 0x16c]
mov esi, eax
test ecx, ecx
je 0x4600c4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test esi, esi
mov dword [ebx + 0x16c], esi
mov ecx, esi
mov byte [ebx + 0x188], 0
setne al
mov byte [ebx + 0x198], al
test ecx, ecx
je 0x4605df
mov eax, dword [ecx]
lea edx, [ebp - 0x124]
push edx
lea edx, [ebp - 0x144]
mov dword [ebp - 0x144], 0
push edx
push 1
push 0xffffffffffffffff
push ecx
mov dword [ebp - 0x124], 0
call dword [eax + 0x10]
mov ecx, dword [ebx + 0x170]
mov esi, dword [ebp - 0x144]
test ecx, ecx
je 0x460128
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test esi, esi
mov dword [ebx + 0x170], esi
mov byte [ebx + 0x188], 0
setne al
cmp dword [ebx + 0x170], 0
mov byte [ebx + 0x198], al
je 0x4605df
mov eax, dword [ebp - 0x190]
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x118], 0
xor esi, esi
nop word [eax + eax]
inc esi
cmp word [esi*2 + 0x4c0540], 0
jne 0x460170
xor ecx, ecx
mov dword [ebp - 0x11c], esi
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edi, eax
add esp, 4
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x120], edi
test esi, esi
jle 0x4601d6
mov ecx, edi
mov edx, esi
mov edi, 0x4c0540
sub edi, eax
nop dword [eax + eax]
mov ax, word [edi + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edx, 1
jne 0x4601c0
mov edi, dword [ebp - 0x190]
xor eax, eax
mov byte [ebp - 0x118], 1
push 0x4c2198
lea ecx, [ebx + 0x168]
mov word [edi + esi*2], ax
call fcn.0041b0e0
cmp byte [ebx + 0x198], 0
jne 0x460200
xor eax, eax
jmp 0x460224
cmp word [ebx + 0x178], 8
jne 0x46021d
push dword [ebx + 0x180]
call fcn.0048e09c
add esp, 4
movzx eax, ax
jmp 0x460224
movzx eax, word [ebx + 0x180]
mov word [edi], ax
mov eax, dword [ebp - 0x1ac]
cmp edi, eax
je 0x46024d
mov ebx, edi
mov esi, eax
sub ebx, eax
movzx eax, word [ebx + esi]
mov ecx, eax
test ax, ax
jne 0x460254
cmp word [esi], ax
jne 0x460259
mov edi, dword [ebp - 0x190]
xor esi, esi
jmp 0x4605ea
cmp ax, word [esi]
je 0x460291
xor edx, edx
cmp dx, ax
jne 0x460264
xor edi, edi
jmp 0x460270
push ecx
call fcn.0048e184
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x460280
xor eax, eax
jmp 0x46028c
push ecx
call fcn.0048e184
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x460296
add esi, 2
jmp 0x460237
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x4602b0
mov dword [ebp - 0x188], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x46030d
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x4602f0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x184], 1
mov byte [ebp - 4], 0x15
mov eax, 8
mov edi, dword [ebp - 0x190]
push edi
mov byte [ebp - 0x118], 1
mov word [ebp - 0x17c], ax
call dword [ebp - 0x19c]
mov dword [ebp - 0x174], eax
test eax, eax
je 0x4606a2
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x114]
call fcn.00401560
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x104]
push eax
call dword [ebp - 0x16c]
test eax, eax
js 0x4606ac
mov ebx, dword [ebp - 0x168]
lea eax, [ebp - 0x17c]
push eax
mov byte [ebp - 4], 4
call ebx
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x4603a4
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x4603b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x1a8]
lea eax, [ebp - 0x140]
push eax
push 1
lea eax, [ebp - 0x114]
mov dword [ebp - 0x140], 0
mov edx, dword [esi + 0x170]
mov ecx, dword [esi + 0x168]
push eax
push 0x4c3314
call fcn.0041a920
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x460400
mov dword [ebp - 0x188], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x46045d
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x460440
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x184], 1
mov eax, 8
mov byte [ebp - 4], 0x17
mov word [ebp - 0x17c], ax
mov eax, dword [ebp - 0x1ac]
push eax
call dword [ebp - 0x19c]
mov dword [ebp - 0x174], eax
test eax, eax
je 0x4606b2
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x114]
call fcn.00401560
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x104]
push eax
call dword [ebp - 0x16c]
test eax, eax
js 0x4606bc
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call ebx
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x4604e7
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x4604f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [esi + 0x170]
lea eax, [ebp - 0x140]
mov ecx, dword [esi + 0x168]
push eax
push 1
lea eax, [ebp - 0x114]
mov dword [ebp - 0x140], 0
push eax
push 0x4c322c
call fcn.0041a920
test al, al
jne 0x460535
mov esi, 0xfffffffc
jmp 0x4605ea
mov esi, dword [ebp - 0x140]
lea eax, [ebp - 0x164]
mov edi, dword [ebp - 0x1a4]
push eax
call edi
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x1a
push eax
call edi
test esi, esi
je 0x4605c8
mov eax, dword [esi]
lea ecx, [ebp - 0x164]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x4605c8
cmp word [ebp - 0x164], 8
jne 0x4605ad
push dword [ebp - 0x15c]
call fcn.0048e09c
add esp, 4
mov edi, eax
lea eax, [ebp - 0x164]
push eax
call ebx
test edi, edi
mov esi, 0xfffffffc
cmove esi, edi
jmp 0x4605e4
mov edi, dword [ebp - 0x15c]
lea eax, [ebp - 0x164]
push eax
call ebx
test edi, edi
mov esi, 0xfffffffc
cmove esi, edi
jmp 0x4605e4
lea eax, [ebp - 0x164]
push eax
call ebx
xor edi, edi
mov esi, 0xfffffffc
test edi, edi
cmove esi, edi
jmp 0x4605e4
mov esi, 0xfffffffc
mov edi, dword [ebp - 0x190]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x4605fe
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x43a2f0
push 8
push 0x20
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 2
push eax
call fcn.0048a1a8
mov eax, dword [ebp - 0x130]
test eax, eax
je 0x46062a
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x46063d
push eax
call fcn.00489f13
add esp, 4
test edi, edi
je 0x46064a
push edi
call fcn.00489f13
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00489f05
mov esp, ebp
pop ebp
ret 0x24
push 0x8007000e
call fcn.00489ba0
push eax
call fcn.00489ba0
push 0x8007000e
call fcn.00489ba0
push eax
call fcn.00489ba0
push eax
call fcn.00489ba0
push eax
call fcn.00489ba0
push eax
call fcn.00489ba0
push eax
call fcn.00489ba0
push 0x8007000e
call fcn.00489ba0
push eax
call fcn.00489ba0
push 0x8007000e
call fcn.00489ba0
push eax
call fcn.00489ba0
int3