Function at 0x45f6f0
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.0041b0e0
sub esp, 8
lea ecx, [esi + 0x168]
call fcn.0041b0e0
sub esp, 8
lea ecx, [esi + 0x1a0]
call fcn.0041b0e0
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 0x45f839
push 2
call fcn.0048a28e
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 0x45f87f
push 2
call fcn.0048a28e
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 0x45f89a
mov dword [ebp - 0x120], 0
mov byte [ebp - 0x118], 0
mov dword [ebp - 0x11c], 0
mov eax, dword [esi]
mov ecx, 0x4c8390
mov ebx, 0x4c439c
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 + 0x4c307c], 0
jne 0x45f8d0
test eax, eax
jne 0x45f8f4
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x16c], ecx
jmp 0x45f940
mov ecx, dword [ebp - 0x168]
xor eax, eax
cmp word [ecx], ax
mov ecx, 0x4c8390
je 0x45f93e
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 0x45f930
mov ecx, dword [ebp - 0x16c]
add edx, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c8390], 0
jne 0x45f942
add eax, edx
mov edx, edi
mov dword [ebp - 0x198], eax
test edx, edx
jne 0x45f978
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], ecx
mov ecx, eax
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x1a0], ebx
jmp 0x45f9b0
xor eax, eax
cmp word [edx], ax
je 0x45f9a8
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 0x45f9a0
mov ecx, dword [ebp - 0x198]
add ecx, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c439c], 0
jne 0x45f9b2
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.0048a28e
mov ebx, 0x4c307c
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 0x45f9f6
mov eax, dword [ebp - 0x168]
mov ebx, dword [ebp - 0x1a0]
test eax, eax
je 0x45fa32
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x45fa32
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x45fa21
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 0x45fa40
mov eax, edi
test eax, eax
je 0x45fa72
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x45fa72
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x45fa61
mov eax, 0x2e
mov word [ecx], ax
lea ebx, [ebx + 2]
movzx eax, word [ebx]
lea ecx, [ecx + 2]
test ax, ax
jne 0x45fa77
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.0042eef0
push 0
push dword [ebp - 0x144]
mov ecx, ebx
push dword [ebp - 0x1b0]
call fcn.0042f260
test eax, eax
jne 0x45fae7
xor esi, esi
jmp 0x4609e7
push 0x43a370
push 0x445fa0
push 8
push 0x20
lea eax, [ebp - 0x114]
push eax
call fcn.0048a2c3
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 + 0x4c2124], 0
jne 0x45fb22
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.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fb7f
mov ax, word [ecx*2 + 0x4c2124]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fb62
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 0x45fbc2
test edi, edi
jne 0x460a3a
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 0x460a44
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 0x45fc27
push eax
call fcn.00489ed3
add esp, 4
mov ebx, dword [ebp - 0x124]
test ebx, ebx
je 0x45fd4b
xor eax, eax
cmp word [ebx], ax
je 0x45fc48
nop dword [eax]
inc eax
cmp word [ebx + eax*2], 0
jne 0x45fc40
test eax, eax
je 0x45fd4b
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c23a4], 0
jne 0x45fc63
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.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fcc0
mov ax, word [ecx*2 + 0x4c23a4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fca3
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 0x460a4a
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 0x460a54
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call esi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fd50
push eax
call fcn.00489ed3
add esp, 4
jmp 0x45fd50
mov ebx, 1
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c30b0], 0
jne 0x45fd63
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.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fdc0
mov ax, word [ecx*2 + 0x4c30b0]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fda3
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 0x460a5a
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call dword [ebp - 0x168]
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fe43
push eax
call fcn.00489ed3
add esp, 4
or esi, 0xffffffff
cmp byte [ebp + 0x24], 0
je 0x45ff3d
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c9c3c], 0
jne 0x45fe63
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.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fec0
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 0x45fea3
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 0x460a60
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call dword [ebp - 0x168]
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45ff3d
push eax
call fcn.00489ed3
add esp, 4
cmp byte [ebp + 0x28], 0
je 0x4601b0
cmp edi, 0x4c80b4
je 0x45ff7c
test edi, edi
je 0x4601b0
mov esi, 0x4c80b4
sub edi, esi
mov dword [ebp - 0x1a4], edi
movzx eax, word [edi + esi]
mov ecx, eax
test ax, ax
jne 0x460045
cmp word [esi], ax
jne 0x46004a
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 0x45ff90
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.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45ffed
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 0x45ffd0
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 0x460a66
jmp 0x46009a
cmp ax, word [esi]
je 0x460092
xor edx, edx
cmp dx, ax
jne 0x460055
xor edi, edi
jmp 0x460061
push ecx
call fcn.0048e154
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x460071
xor eax, eax
jmp 0x46007d
push ecx
call fcn.0048e154
add esp, 4
movzx eax, ax
cmp di, ax
jb 0x4601b0
ja 0x4601b0
mov edi, dword [ebp - 0x1a4]
add esi, 2
jmp 0x45ff64
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 0x4600c0
push eax
call fcn.00489ed3
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 0x4600d3
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.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x460130
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 0x460113
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 0x460a6c
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call edi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x4601b6
push eax
call fcn.00489ed3
add esp, 4
jmp 0x4601b6
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 0x4c30c8
call fcn.0041a9b0
test al, al
jne 0x4601ef
mov esi, 0xfffffffd
jmp 0x4609b4
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 0x460273
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 0x460273
cmp word [ebp - 0x154], 8
jne 0x460256
push dword [ebp - 0x14c]
call fcn.0048e06c
add esp, 4
mov esi, eax
jmp 0x46025c
mov esi, dword [ebp - 0x14c]
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 4
push eax
call edi
test esi, esi
jne 0x4609b4
jmp 0x460282
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 0x4609b4
xor eax, eax
cmp word [ecx], ax
je 0x4609b4
nop dword [eax + eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x4602a0
test eax, eax
je 0x4609b4
push dword [ebp - 0x144]
lea ecx, [ebp - 0x130]
call fcn.00401e50
mov esi, dword [ebp - 0x13c]
test esi, esi
jne 0x4602ec
push 2
call fcn.0048a28e
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 0x460321
mov ecx, dword [ebp - 0x130]
test ecx, ecx
je 0x46031b
cmp word [ecx], ax
je 0x46031b
inc eax
cmp word [ecx + eax*2], 0
jne 0x460313
mov dword [ebp - 0x12c], eax
xor ecx, ecx
inc ecx
cmp word [ecx*2 + 0x4c2028], 0
jne 0x460323
add ecx, eax
test esi, esi
je 0x46034a
xor eax, eax
cmp word [esi], ax
je 0x460348
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x460340
add ecx, eax
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c2238], 0
jne 0x460350
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.0048a28e
mov edx, dword [ebp - 0x130]
mov edi, 0x4c2028
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 0x4603a0
mov edi, 0x4c2238
test esi, esi
je 0x4603d5
movzx eax, word [esi]
mov ebx, eax
test ax, ax
je 0x4603d5
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x4603c4
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 0x4603e0
cmp dword [ebp - 0x130], 0
je 0x460415
movzx eax, word [edx]
mov esi, eax
test ax, ax
je 0x460415
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x460404
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x130]
test eax, eax
je 0x46042d
push eax
call fcn.00489ed3
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 0x46046b
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x46046b
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.0041a750
mov ecx, dword [ebx + 0x16c]
mov esi, eax
test ecx, ecx
je 0x460494
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 0x4609af
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 0x4604f8
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 0x4609af
mov eax, dword [ebp - 0x190]
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x118], 0
xor esi, esi
nop word [eax + eax]
inc esi
cmp word [esi*2 + 0x4c0540], 0
jne 0x460540
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.0048a28e
mov edi, eax
add esp, 4
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x120], edi
test esi, esi
jle 0x4605a6
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 0x460590
mov edi, dword [ebp - 0x190]
xor eax, eax
mov byte [ebp - 0x118], 1
push 0x4c2178
lea ecx, [ebx + 0x168]
mov word [edi + esi*2], ax
call fcn.0041b170
cmp byte [ebx + 0x198], 0
jne 0x4605d0
xor eax, eax
jmp 0x4605f4
cmp word [ebx + 0x178], 8
jne 0x4605ed
push dword [ebx + 0x180]
call fcn.0048e06c
add esp, 4
movzx eax, ax
jmp 0x4605f4
movzx eax, word [ebx + 0x180]
mov word [edi], ax
mov eax, dword [ebp - 0x1ac]
cmp edi, eax
je 0x46061d
mov ebx, edi
mov esi, eax
sub ebx, eax
movzx eax, word [ebx + esi]
mov ecx, eax
test ax, ax
jne 0x460624
cmp word [esi], ax
jne 0x460629
mov edi, dword [ebp - 0x190]
xor esi, esi
jmp 0x4609ba
cmp ax, word [esi]
je 0x460661
xor edx, edx
cmp dx, ax
jne 0x460634
xor edi, edi
jmp 0x460640
push ecx
call fcn.0048e154
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x460650
xor eax, eax
jmp 0x46065c
push ecx
call fcn.0048e154
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x460666
add esi, 2
jmp 0x460607
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c31f4], 0
jne 0x460680
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.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x4606dd
mov ax, word [ecx*2 + 0x4c31f4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x4606c0
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 0x460a72
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 0x460a7c
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 0x460774
push eax
call fcn.00489ed3
add esp, 4
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x460784
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 0x4c32f4
call fcn.0041a9b0
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c31f4], 0
jne 0x4607d0
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.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x46082d
mov ax, word [ecx*2 + 0x4c31f4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x460810
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 0x460a82
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 0x460a8c
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call ebx
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x4608b7
push eax
call fcn.00489ed3
add esp, 4
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x4608c7
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 0x4c320c
call fcn.0041a9b0
test al, al
jne 0x460905
mov esi, 0xfffffffc
jmp 0x4609ba
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 0x460998
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 0x460998
cmp word [ebp - 0x164], 8
jne 0x46097d
push dword [ebp - 0x15c]
call fcn.0048e06c
add esp, 4
mov edi, eax
lea eax, [ebp - 0x164]
push eax
call ebx
test edi, edi
mov esi, 0xfffffffc
cmove esi, edi
jmp 0x4609b4
mov edi, dword [ebp - 0x15c]
lea eax, [ebp - 0x164]
push eax
call ebx
test edi, edi
mov esi, 0xfffffffc
cmove esi, edi
jmp 0x4609b4
lea eax, [ebp - 0x164]
push eax
call ebx
xor edi, edi
mov esi, 0xfffffffc
test edi, edi
cmove esi, edi
jmp 0x4609b4
mov esi, 0xfffffffc
mov edi, dword [ebp - 0x190]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x4609ce
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x43a370
push 8
push 0x20
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 2
push eax
call fcn.0048a16b
mov eax, dword [ebp - 0x130]
test eax, eax
je 0x4609fa
push eax
call fcn.00489ed3
add esp, 4
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x460a0d
push eax
call fcn.00489ed3
add esp, 4
test edi, edi
je 0x460a1a
push edi
call fcn.00489ed3
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.00489ec5
mov esp, ebp
pop ebp
ret 0x24
push 0x8007000e
call fcn.00489b60
push eax
call fcn.00489b60
push 0x8007000e
call fcn.00489b60
push eax
call fcn.00489b60
push eax
call fcn.00489b60
push eax
call fcn.00489b60
push eax
call fcn.00489b60
push eax
call fcn.00489b60
push 0x8007000e
call fcn.00489b60
push eax
call fcn.00489b60
push 0x8007000e
call fcn.00489b60
push eax
call fcn.00489b60
int3