Function at 0x45f470
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49ebf2
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 0x45f5b9
push 2
call fcn.0048a02b
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 0x45f5ff
push 2
call fcn.0048a02b
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 0x45f61a
mov dword [ebp - 0x120], 0
mov byte [ebp - 0x118], 0
mov dword [ebp - 0x11c], 0
mov eax, dword [esi]
mov ecx, 0x4c8398
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 0x45f650
test eax, eax
jne 0x45f674
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x16c], ecx
jmp 0x45f6c0
mov ecx, dword [ebp - 0x168]
xor eax, eax
cmp word [ecx], ax
mov ecx, 0x4c8398
je 0x45f6be
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x168], ecx
mov ecx, 0x4c8398
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 0x45f6b0
mov ecx, dword [ebp - 0x16c]
add edx, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c8398], 0
jne 0x45f6c2
add eax, edx
mov edx, edi
mov dword [ebp - 0x198], eax
test edx, edx
jne 0x45f6f8
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], ecx
mov ecx, eax
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x1a0], ebx
jmp 0x45f730
xor eax, eax
cmp word [edx], ax
je 0x45f728
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 0x45f720
mov ecx, dword [ebp - 0x198]
add ecx, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c439c], 0
jne 0x45f732
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.0048a02b
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 0x45f776
mov eax, dword [ebp - 0x168]
mov ebx, dword [ebp - 0x1a0]
test eax, eax
je 0x45f7b2
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x45f7b2
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x45f7a1
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 0x45f7c0
mov eax, edi
test eax, eax
je 0x45f7f2
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x45f7f2
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x45f7e1
mov eax, 0x2e
mov word [ecx], ax
lea ebx, [ebx + 2]
movzx eax, word [ebx]
lea ecx, [ecx + 2]
test ax, ax
jne 0x45f7f7
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 0x45f867
xor esi, esi
jmp 0x460767
push 0x43a370
push 0x445d00
push 8
push 0x20
lea eax, [ebp - 0x114]
push eax
call fcn.0048a060
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 0x45f8a2
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.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45f8ff
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 0x45f8e2
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 0x45f942
test edi, edi
jne 0x4607ba
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 0x4607c4
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 0x45f9a7
push eax
call fcn.00489c73
add esp, 4
mov ebx, dword [ebp - 0x124]
test ebx, ebx
je 0x45facb
xor eax, eax
cmp word [ebx], ax
je 0x45f9c8
nop dword [eax]
inc eax
cmp word [ebx + eax*2], 0
jne 0x45f9c0
test eax, eax
je 0x45facb
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c23a4], 0
jne 0x45f9e3
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.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fa40
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 0x45fa23
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 0x4607ca
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 0x4607d4
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call esi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fad0
push eax
call fcn.00489c73
add esp, 4
jmp 0x45fad0
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 0x45fae3
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.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fb40
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 0x45fb23
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 0x4607da
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call dword [ebp - 0x168]
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fbc3
push eax
call fcn.00489c73
add esp, 4
or esi, 0xffffffff
cmp byte [ebp + 0x24], 0
je 0x45fcbd
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c9c44], 0
jne 0x45fbe3
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.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fc40
mov ax, word [ecx*2 + 0x4c9c44]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fc23
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 0x4607e0
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call dword [ebp - 0x168]
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45fcbd
push eax
call fcn.00489c73
add esp, 4
cmp byte [ebp + 0x28], 0
je 0x45ff30
cmp edi, 0x4c80bc
je 0x45fcfc
test edi, edi
je 0x45ff30
mov esi, 0x4c80bc
sub edi, esi
mov dword [ebp - 0x1a4], edi
movzx eax, word [edi + esi]
mov ecx, eax
test ax, ax
jne 0x45fdc5
cmp word [esi], ax
jne 0x45fdca
xor al, al
mov dword [ebp - 0x18c], 0
mov byte [ebp - 0x184], al
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c9c58], 0
jne 0x45fd10
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.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45fd6d
mov ax, word [ecx*2 + 0x4c9c58]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fd50
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 0x4607e6
jmp 0x45fe1a
cmp ax, word [esi]
je 0x45fe12
xor edx, edx
cmp dx, ax
jne 0x45fdd5
xor edi, edi
jmp 0x45fde1
push ecx
call fcn.0048dee4
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x45fdf1
xor eax, eax
jmp 0x45fdfd
push ecx
call fcn.0048dee4
add esp, 4
movzx eax, ax
cmp di, ax
jb 0x45ff30
ja 0x45ff30
mov edi, dword [ebp - 0x1a4]
add esi, 2
jmp 0x45fce4
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 0x45fe40
push eax
call fcn.00489c73
add esp, 4
mov dword [ebp - 0x18c], 0
xor eax, eax
mov byte [ebp - 0x184], 0
inc eax
cmp word [eax*2 + 0x4c9c70], 0
jne 0x45fe53
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.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x45feb0
mov ax, word [ecx*2 + 0x4c9c70]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x18c]
cmp ecx, eax
jl 0x45fe93
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 0x4607ec
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call edi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x45ff36
push eax
call fcn.00489c73
add esp, 4
jmp 0x45ff36
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 0x45ff6f
mov esi, 0xfffffffd
jmp 0x460734
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 0x45fff3
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 0x45fff3
cmp word [ebp - 0x154], 8
jne 0x45ffd6
push dword [ebp - 0x14c]
call fcn.0048ddfc
add esp, 4
mov esi, eax
jmp 0x45ffdc
mov esi, dword [ebp - 0x14c]
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 4
push eax
call edi
test esi, esi
jne 0x460734
jmp 0x460002
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 0x460734
xor eax, eax
cmp word [ecx], ax
je 0x460734
nop dword [eax + eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x460020
test eax, eax
je 0x460734
push dword [ebp - 0x144]
lea ecx, [ebp - 0x130]
call fcn.00401e50
mov esi, dword [ebp - 0x13c]
test esi, esi
jne 0x46006c
push 2
call fcn.0048a02b
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 0x4600a1
mov ecx, dword [ebp - 0x130]
test ecx, ecx
je 0x46009b
cmp word [ecx], ax
je 0x46009b
inc eax
cmp word [ecx + eax*2], 0
jne 0x460093
mov dword [ebp - 0x12c], eax
xor ecx, ecx
inc ecx
cmp word [ecx*2 + 0x4c2028], 0
jne 0x4600a3
add ecx, eax
test esi, esi
je 0x4600ca
xor eax, eax
cmp word [esi], ax
je 0x4600c8
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x4600c0
add ecx, eax
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c2238], 0
jne 0x4600d0
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.0048a02b
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 0x460120
mov edi, 0x4c2238
test esi, esi
je 0x460155
movzx eax, word [esi]
mov ebx, eax
test ax, ax
je 0x460155
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x460144
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 0x460160
cmp dword [ebp - 0x130], 0
je 0x460195
movzx eax, word [edx]
mov esi, eax
test ax, ax
je 0x460195
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x460184
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x130]
test eax, eax
je 0x4601ad
push eax
call fcn.00489c73
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 0x4601eb
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x4601eb
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 0x460214
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 0x46072f
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 0x460278
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 0x46072f
mov eax, dword [ebp - 0x190]
push eax
call fcn.00489c73
add esp, 4
mov byte [ebp - 0x118], 0
xor esi, esi
nop word [eax + eax]
inc esi
cmp word [esi*2 + 0x4c0540], 0
jne 0x4602c0
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.0048a02b
mov edi, eax
add esp, 4
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x120], edi
test esi, esi
jle 0x460326
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 0x460310
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 0x460350
xor eax, eax
jmp 0x460374
cmp word [ebx + 0x178], 8
jne 0x46036d
push dword [ebx + 0x180]
call fcn.0048ddfc
add esp, 4
movzx eax, ax
jmp 0x460374
movzx eax, word [ebx + 0x180]
mov word [edi], ax
mov eax, dword [ebp - 0x1ac]
cmp edi, eax
je 0x46039d
mov ebx, edi
mov esi, eax
sub ebx, eax
movzx eax, word [ebx + esi]
mov ecx, eax
test ax, ax
jne 0x4603a4
cmp word [esi], ax
jne 0x4603a9
mov edi, dword [ebp - 0x190]
xor esi, esi
jmp 0x46073a
cmp ax, word [esi]
je 0x4603e1
xor edx, edx
cmp dx, ax
jne 0x4603b4
xor edi, edi
jmp 0x4603c0
push ecx
call fcn.0048dee4
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x4603d0
xor eax, eax
jmp 0x4603dc
push ecx
call fcn.0048dee4
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x4603e6
add esi, 2
jmp 0x460387
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 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.0048a02b
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 + 0x4c31f4]
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 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 0x4607f2
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 0x4607fc
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 0x4604f4
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x460504
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 0x460550
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.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov dword [ebp - 0x18c], edx
test eax, eax
jle 0x4605ad
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 0x460590
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 0x460802
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 0x46080c
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 4
push eax
call ebx
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x460637
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x460647
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 0x460685
mov esi, 0xfffffffc
jmp 0x46073a
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 0x460718
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 0x460718
cmp word [ebp - 0x164], 8
jne 0x4606fd
push dword [ebp - 0x15c]
call fcn.0048ddfc
add esp, 4
mov edi, eax
lea eax, [ebp - 0x164]
push eax
call ebx
test edi, edi
mov esi, 0xfffffffc
cmove esi, edi
jmp 0x460734
mov edi, dword [ebp - 0x15c]
lea eax, [ebp - 0x164]
push eax
call ebx
test edi, edi
mov esi, 0xfffffffc
cmove esi, edi
jmp 0x460734
lea eax, [ebp - 0x164]
push eax
call ebx
xor edi, edi
mov esi, 0xfffffffc
test edi, edi
cmove esi, edi
jmp 0x460734
mov esi, 0xfffffffc
mov edi, dword [ebp - 0x190]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x46074e
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.00489f08
mov eax, dword [ebp - 0x130]
test eax, eax
je 0x46077a
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x46078d
push eax
call fcn.00489c73
add esp, 4
test edi, edi
je 0x46079a
push edi
call fcn.00489c73
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.00489c65
mov esp, ebp
pop ebp
ret 0x24
push 0x8007000e
call fcn.00489900
push eax
call fcn.00489900
push 0x8007000e
call fcn.00489900
push eax
call fcn.00489900
push eax
call fcn.00489900
push eax
call fcn.00489900
push eax
call fcn.00489900
push eax
call fcn.00489900
push 0x8007000e
call fcn.00489900
push eax
call fcn.00489900
push 0x8007000e
call fcn.00489900
push eax
call fcn.00489900
int3