Function at 0x401b20
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push 8
call fcn.004790b3
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x48e2f9
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0x10]
push eax
call fcn.00402a61
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401b74
push ebx
call fcn.004790b9
add esp, 4
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
call fcn.00402f1a
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401ba5
push ebx
call fcn.004790b9
add esp, 4
mov eax, dword [ebp - 0x18]
push eax
mov ebx, dword [0x492572]
test ebx, ebx
je 0x401bbc
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x492572], eax
push 0
mov ebx, 0x108
call fcn.0047b520
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x492576]
test ebx, ebx
je 0x401bee
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x492576], eax
mov dword [ebp - 0x10], esp
xor eax, eax
call dword [0x49273e]
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401c1d
push 0x11c
push 0x4020632
push 6
call fcn.004790bf
add esp, 0xc
push eax
call fcn.00403f81
mov ebx, eax
test ebx, ebx
je 0x401c32
push ebx
call fcn.004790b9
add esp, 4
push 0x492572
call fcn.00403cba
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x49257a]
test ebx, ebx
je 0x401c56
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x49257a], eax
push str.WebService_
push dword [0x49257a]
mov ecx, 2
call fcn.00401255
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x49257e]
test ebx, ebx
je 0x401c8e
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x49257e], eax
push 0x48e247
push dword [0x492572]
mov ecx, 2
call fcn.00401255
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x492582]
test ebx, ebx
je 0x401cc6
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x492582], eax
push 9
call fcn.004044b2
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x492586]
test ebx, ebx
je 0x401cf0
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x492586], eax
push 0x80000301
push 0
push 1
push VariantClear
push 0
mov eax, dword [0x492586]
test eax, eax
jne 0x401d17
mov eax, 0x48e230
push eax
push 2
mov ebx, 0x134
call fcn.0047adf0
add esp, 0x1c
mov dword [ebp - 0x10], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x401d40
mov eax, 0x48e230
push eax
push 1
mov ebx, 0x154
call fcn.0047b5b0
add esp, 0x10
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401d66
push ebx
call fcn.004790b9
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [0x49258a]
test ebx, ebx
je 0x401d7d
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x49258a], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
push 1
push 0x492582
call fcn.004048e8
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x401e02
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x401e12
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401e22
push ebx
call fcn.004790b9
add esp, 4
push 0x49256a
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x80]
mov dword [0x49258e], eax
push VariantClear
push 0
lea eax, [ebp - 4]
push eax
push 1
mov ebx, 0x100
call fcn.0047b610
add esp, 0x10
mov ecx, 3
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004790b3
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
mov dword [edi], 3
add edi, 4
mov ebx, dword [ebp - 4]
call fcn.00401b00
pop edx
mov eax, ecx
cmp ecx, edx
jle 0x401e93
mov ecx, edx
sub eax, ecx
sub edx, ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ebx, esi
mov ecx, eax
test ecx, ecx
je 0x401ec4
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x401eba
push ebx
call fcn.004790b9
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x401ea9
pop edx
pop edi
test edx, edx
je 0x401ed2
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 4]
call fcn.004790b9
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 1
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
test eax, eax
je 0x401f17
push eax
mov ebx, eax
call fcn.004011ea
inc eax
push eax
call fcn.004790b3
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x492592]
test ebx, ebx
je 0x401f2b
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x492592], eax
push VariantClear
push 0
mov eax, dword [0x492592]
test eax, eax
jne 0x401f46
mov eax, 0x48e230
push eax
push 1
mov ebx, 0x154
call fcn.0047b5b0
add esp, 0x10
mov dword [ebp - 0x10], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x401f6f
mov eax, 0x48e230
push eax
push 1
mov ebx, 0x198
call fcn.0047ad20
add esp, 0x10
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401f95
push ebx
call fcn.004790b9
add esp, 4
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push eax
push 0x49256e
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x18]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401fc7
push ebx
call fcn.004790b9
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x401fdb
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [ebp - 8], eax
push 0x48e230
push dword [0x492592]
call fcn.004012b1
add esp, 8
cmp eax, 0
je 0x402018
push str.5A665D71A0D0D666EDA549725EBD3771
push dword [ebp - 8]
call fcn.004012b1
add esp, 8
cmp eax, 0
je 0x402018
xor eax, eax
jmp 0x40201d
mov eax, 1
test eax, eax
je 0x402034
mov dword [0x492596], 1
jmp 0x40205c
push str.C581021BFCD37A4E657A6A7268904D9C
push dword [ebp - 8]
call fcn.004012b1
add esp, 8
cmp eax, 0
jne 0x40205c
mov dword [0x49259a], 1
jmp 0x40205c
cmp dword [0x492596], 0
je 0x402167
mov eax, str.YXCoreClient
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40207f
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
push 0x48e2a1
push dword [ebp - 0xc]
mov ecx, 2
call fcn.00401255
add esp, 8
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 0x49259e
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4020c1
push ebx
call fcn.004790b9
add esp, 4
cmp dword [ebp - 0x14], 0
jne 0x4020da
push 0
call fcn.004790a1
add esp, 4
jmp 0x4029f8
push VariantClear
push 0
mov eax, dword [0x492576]
test eax, eax
jne 0x4020ef
mov eax, 0x48e230
push eax
push VariantClear
push 0
push 0x48e2a3
push VariantClear
push 0
push str.local
push VariantClear
push 0
mov eax, dword [0x492582]
test eax, eax
jne 0x40211d
mov eax, 0x48e230
push eax
push 4
mov ebx, 0x8cc
call fcn.0047b7b0
add esp, 0x34
mov eax, str.YXCoreApp.exe
push eax
mov ebx, dword [0x492592]
test ebx, ebx
je 0x402149
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x492592], eax
push 0
push 0
push 0
push 1
mov ebx, 0x90
call fcn.0047aab0
add esp, 0x10
mov dword [0x4925a2], 1
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 2
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
test eax, eax
je 0x4021a7
push eax
mov ebx, eax
call fcn.004011ea
inc eax
push eax
call fcn.004790b3
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x4925a6]
test ebx, ebx
je 0x4021bb
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925a6], eax
cmp dword [0x492596], 0
jne 0x40224a
push 0x492592
call fcn.004054ba
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4021ef
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
push 0x48e2a1
push dword [ebp - 0xc]
mov ecx, 2
call fcn.00401255
add esp, 8
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 0x49259e
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x402231
push ebx
call fcn.004790b9
add esp, 4
cmp dword [ebp - 0x14], 0
jne 0x40224a
push 0
call fcn.004790a1
add esp, 4
jmp 0x4029f8
push 0x48e2a1
push dword [ebp - 0xc]
mov ecx, 2
call fcn.00401255
add esp, 8
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
lea eax, [ebp - 0x20]
push eax
push 1
push 0x492572
push 1
lea eax, [ebp - 0x10]
push eax
call fcn.00405587
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4022b5
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4022c5
push ebx
call fcn.004790b9
add esp, 4
push dword [0x492592]
push dword [0x492572]
mov ecx, 2
call fcn.00401255
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x4925aa]
test ebx, ebx
je 0x4022f8
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925aa], eax
push 0x80000101
push 0
push 0
push 1
mov ebx, 0x140
call fcn.0047ab40
add esp, 0x10
mov dword [ebp - 0x10], eax
push str.___P
push dword [0x4925aa]
push 0x48e2c0
mov ecx, 3
call fcn.00401255
add esp, 0xc
mov dword [ebp - 0x14], eax
push 0x10
call fcn.004790b3
add esp, 4
mov dword [ebp - 0x18], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
push 0
lea eax, [ebp - 0x18]
push eax
push 0x48
call fcn.004790b3
add esp, 4
mov dword [ebp - 0x1c], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x12
rep stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x20], 0
push 0
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push 1
lea eax, [ebp - 0x14]
push eax
push 1
lea eax, [ebp - 0x10]
push eax
call fcn.0040f095
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4023db
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4023eb
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4023fb
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x402412
push ebx
call fcn.004790b9
add esp, 4
pop ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
call fcn.004790b9
add esp, 4
push 9
call fcn.004044b2
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x4925ae]
test ebx, ebx
je 0x40244b
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925ae], eax
mov dword [ebp - 0x10], esp
xor eax, eax
call dword [0x49273e]
nop
nop
cmp dword [ebp - 0x10], esp
je 0x40247a
push 0x1328
push 0x4020632
push 6
call fcn.004790bf
add esp, 0xc
mov dword [0x4925b2], eax
call fcn.0040f612
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x4925b6]
test ebx, ebx
je 0x40249e
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925b6], eax
cmp dword [0x492596], 0
je 0x4026ef
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov eax, 0x48e2c2
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, str.local
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.0040f66c
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x402507
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x402517
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x402527
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x402537
push ebx
call fcn.004790b9
add esp, 4
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [0x4925ba]
test ebx, ebx
je 0x40254e
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925ba], eax
push 0x48e230
push dword [0x4925ba]
call fcn.004012b1
add esp, 8
cmp eax, 0
jne 0x4025ce
call fcn.0041114f
mov dword [ebp - 0x10], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x40258b
mov eax, 0x48e230
push eax
push 1
mov ebx, 0x154
call fcn.0047b5b0
add esp, 0x10
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4025b1
push ebx
call fcn.004790b9
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [0x4925ba]
test ebx, ebx
je 0x4025c8
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925ba], eax
mov ebx, dword [0x4925be]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 2
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
push 1
push dword [ebp - 0x10]
push 1
push 3
push 0x42bfc4
call fcn.00406447
mov ebx, dword [0x4925be]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 3
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
push 1
push dword [ebp - 0x10]
push 1
push 4
push 0x42e01c
call fcn.00406447
push 0x49256a
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x80]
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x168
call fcn.0047aeb0
add esp, 0x10
mov dword [ebp - 0x14], eax
push 1
lea eax, [ebp - 0x14]
push eax
mov eax, str.clientphwnd
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00411626
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4026b8
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4026c8
push ebx
call fcn.004790b9
add esp, 4
push 0x49256a
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x80]
mov dword [ebp - 0x10], eax
push 0x42e0e1
push dword [ebp - 0x10]
call fcn.004116ae
jmp 0x40270e
mov eax, 0x48e2d0
push eax
mov ebx, dword [0x4925ba]
test ebx, ebx
je 0x402708
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925ba], eax
mov ebx, dword [0x4925be]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 0
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
push 1
push dword [ebp - 0x10]
push 1
push 1
push 0x432571
call fcn.00406447
push 0x48e2d0
push dword [0x4925ba]
call fcn.004012b1
add esp, 8
cmp eax, 0
jne 0x4027be
mov ebx, dword [0x4925be]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 1
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
push 1
push dword [ebp - 0x10]
push 1
push 2
push 0x432f92
call fcn.00406447
cmp dword [0x49259a], 0
je 0x4029f8
push 1
mov eax, str.SeDebugPrivilege
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.00402a61
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4027ee
push ebx
call fcn.004790b9
add esp, 4
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
call fcn.00411703
push 0x49256a
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x80]
mov dword [ebp - 0x10], eax
push 0x42e0e1
push dword [ebp - 0x10]
call fcn.004116ae
push 0x48e247
push dword [0x49257a]
mov ecx, 2
call fcn.00401255
add esp, 8
mov dword [ebp - 0x10], eax
push 0
push 0
push 0
push VariantClear
push 0
push 0x48e2c2
push VariantClear
push 0
push str.server
push VariantClear
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x40286d
mov eax, 0x48e230
push eax
push 4
mov ebx, 0x8c8
call fcn.0047b7d0
add esp, 0x34
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x402893
push ebx
call fcn.004790b9
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [0x4925c2]
test ebx, ebx
je 0x4028aa
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925c2], eax
push str.version.update
push dword [0x49257a]
mov ecx, 2
call fcn.00401255
add esp, 8
mov dword [ebp - 0x10], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x4028de
mov eax, 0x48e230
push eax
push 1
mov ebx, 0x268
call fcn.0047b870
add esp, 0x10
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x402904
push ebx
call fcn.004790b9
add esp, 4
push VariantCopy
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x402917
mov eax, 0x48e2f9
push eax
push 1
mov ebx, 0x168
call fcn.0047aeb0
add esp, 0x10
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40293d
push ebx
call fcn.004790b9
add esp, 4
mov eax, dword [ebp - 0x18]
push eax
mov ebx, dword [0x4925c6]
test ebx, ebx
je 0x402954
push ebx
call fcn.004790b9
add esp, 4
pop eax
mov dword [0x4925c6], eax
call fcn.004117ac
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4029f8
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
push 1
mov eax, 0x48e301
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
mov eax, 0x48e306
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.00411bc2
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x4029d8
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x4029e8
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4029f8
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x402a16
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x402a12
imul eax, dword [ebx]
jmp 0x402a07
mov ecx, eax
test ecx, ecx
je 0x402a35
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x402a2e
push ebx
push eax
call fcn.004790b9
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x402a1c
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402a4d
push ebx
call fcn.004790b9
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x402a5d
push ebx
call fcn.004790b9
add esp, 4
mov esp, ebp
pop ebp
ret