Function at 0x404880
Capabilities:
Check internet connectivity via wininet
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x453edb
mov eax, dword fs:[0]
push eax
mov eax, 0x1108
call fcn.00441190
mov eax, dword [0x469524]
xor eax, esp
mov dword [esp + 0x1100], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x469524]
xor eax, esp
push eax
lea eax, [esp + 0x111c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x112c]
xor ebx, ebx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x1c], ebx
call fcn.0042121c
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4048ea
push 0x80004005
call fcn.0040ad10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x28], esi
mov dword [esp + 0x1124], ebx
call fcn.0042121c
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40491b
push 0x80004005
call fcn.0040ad10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x38], eax
mov edi, 1
mov byte [esp + 0x1124], 1
cmp dword [0x46da74], edi
je 0x405c2c
cmp dword [0x46da90], edi
je 0x405c2c
push ebx
mov ebx, dword [sym.imp.WININET.dll_InternetGetConnectedState]
lea ecx, [esp + 0x28]
push ecx
call ebx
test byte [esp + 0x24], 3
jne 0x4049a7
mov esi, dword [ebp + 0x20]
mov edx, dword [esi + 0x20]
push edi
mov edi, dword [sym.imp.USER32.dll_KillTimer]
push edx
call edi
mov eax, dword [esi + 0x20]
push 0xb
push eax
call edi
lea ecx, [ecx]
push 0
lea ecx, [esp + 0x28]
push ecx
call ebx
test byte [esp + 0x24], 3
jne 0x40499f
push 0xbb8
call fcn.00418570
add esp, 4
jmp 0x404980
mov esi, dword [ebp + 0x20]
call fcn.0040af90
mov eax, dword [0x46d950]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov esi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x112c], 2
mov eax, dword [0x46da5c]
add eax, 0xfffffff0
mov dword [esp + 0x74], esp
mov esi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov esi, SysReAllocStringLen
lea edi, [esp + 0x2c]
mov byte [esp + 0x112c], 1
call fcn.00411620
add esp, 8
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1128], 3
call fcn.00409f40
mov byte [esp + 0x1124], 1
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x404a38
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xa0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [esp + 0xaa]
movzx eax, word [esp + 0xa8]
movzx ecx, word [esp + 0xa6]
push edx
movzx edx, word [esp + 0xa6]
push eax
movzx eax, word [esp + 0xa8]
push ecx
push edx
push eax
lea ecx, [esp + 0x4c]
push str._04d_02d_02d_02d_02d
push ecx
call fcn.0040a6f0
mov eax, dword [0x46d8f0]
add esp, 0x18
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov esi, esp
push eax
call fcn.00409fe0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00404130
lea edx, [esp + 0x2c]
push edx
call fcn.0040c980
lea eax, [esp + 0x8e4]
push eax
mov byte [esp + 0x1128], 4
call fcn.004012d0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov byte [esp + 0x1124], 5
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x404af7
push 0
lea ecx, [esp + 0x30]
call fcn.0040a5c0
mov edx, dword [esp + 0x2c]
push edx
lea ecx, [esp + 0x8e8]
push ecx
call fcn.00401c60
test eax, eax
je 0x404b8f
mov byte [esp + 0x1124], 4
call dword [sym.imp.ole32.dll_CoUninitialize]
lea edx, [esp + 0x8e4]
push edx
call fcn.00401ba0
mov byte [esp + 0x1124], 1
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1124], 0xffffffff
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
jmp 0x405c5e
lea ecx, [esp + 0x78]
push ecx
call fcn.00407a60
lea edx, [esp + 0xb4]
push edx
mov byte [esp + 0x1128], 6
call fcn.004012d0
sub esp, 0x830
mov byte [esp + 0x1954], 7
mov eax, esp
mov dword [esp + 0x848], esp
lea ecx, [esp + 0x8e4]
push ecx
push eax
call fcn.004023e0
lea edx, [esp + 0x8a8]
push edx
mov edi, str.updateinfo
lea esi, [esp + 0x1118]
call fcn.00401f20
mov ecx, dword [esp + 0x88]
sub ecx, dword [esp + 0x84]
mov eax, 0x3e88cb3d
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x405558
lea ecx, [esp + 0x50]
call fcn.0040a750
lea ecx, [esp + 0x68]
call fcn.0040a750
lea ecx, [esp + 0x44]
call fcn.0040a750
lea ecx, [esp + 0x4c]
call fcn.0040a750
lea ecx, [esp + 0x54]
call fcn.0040a750
lea ecx, [esp + 0x5c]
call fcn.0040a750
lea ecx, [esp + 0x58]
call fcn.0040a750
lea ecx, [esp + 0x24]
call fcn.0040a750
lea ecx, [esp + 0x30]
call fcn.0040a750
lea ecx, [esp + 0x48]
call fcn.0040a750
lea ecx, [esp + 0x40]
call fcn.0040a750
mov byte [esp + 0x1124], 0x12
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
cmp esi, eax
jbe 0x404c9a
call fcn.0043b394
mov eax, dword [esp + 0x88]
mov ebp, dword [esp + 0x78]
mov bl, 0x18
mov edi, eax
cmp dword [esp + 0x84], eax
jbe 0x404cb0
call fcn.0043b394
test ebp, ebp
je 0x404cba
cmp ebp, dword [esp + 0x78]
je 0x404cbf
call fcn.0043b394
cmp esi, edi
je 0x40535f
test ebp, ebp
jne 0x405302
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x404ce0
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
mov byte [esp + 0x1954], 0x13
mov ecx, dword [0x46d994]
mov eax, 1
sub eax, dword [ecx - 4]
or eax, dword [ecx - 8]
jge 0x404d1d
push 0
mov ecx, 0x46d994
call fcn.0040a5c0
lea edx, [esp + 0x8e4]
mov byte [esp + 0x1954], 0x12
mov edi, dword [0x46d994]
push edx
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x404d6b
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404d50
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x60]
call fcn.0040a300
test ebp, ebp
jne 0x40530a
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x404d84
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
mov byte [esp + 0x1954], 0x14
mov ecx, dword [0x46d9a0]
mov eax, 1
sub eax, dword [ecx - 4]
mov ecx, dword [ecx - 8]
or ecx, eax
jge 0x404dc3
push 0
mov ecx, 0x46d9a0
call fcn.0040a5c0
lea edx, [esp + 0x8e4]
mov byte [esp + 0x1954], 0x12
mov edi, dword [0x46d9a0]
push edx
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x404e0e
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404df3
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x70]
call fcn.0040a300
test ebp, ebp
jne 0x405312
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x404e27
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
mov byte [esp + 0x1954], 0x15
mov ecx, dword [0x46d998]
mov eax, 1
sub eax, dword [ecx - 4]
mov ecx, dword [ecx - 8]
or ecx, eax
jge 0x404e66
push 0
mov ecx, 0x46d998
call fcn.0040a5c0
lea edx, [esp + 0x8e4]
mov byte [esp + 0x1954], 0x12
mov edi, dword [0x46d998]
push edx
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x404eb1
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404e96
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x58]
call fcn.0040a300
test ebp, ebp
jne 0x40531a
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x404eca
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
lea edx, [esp + 0x8e4]
push edx
mov edi, str.deaqe
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x404f22
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404f07
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x4c]
call fcn.0040a300
test ebp, ebp
jne 0x405322
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x404f3b
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
lea edx, [esp + 0x8e4]
push edx
mov edi, str.deaqade
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x404f93
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404f78
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x54]
call fcn.0040a300
test ebp, ebp
jne 0x40532a
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x404fac
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
lea edx, [esp + 0x8e4]
push edx
mov edi, str.depqe
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x40500b
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404ff0
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x5c]
call fcn.0040a300
test ebp, ebp
jne 0x405332
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x405024
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
lea edx, [esp + 0x8e4]
push edx
mov edi, str.depce
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x40507c
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405061
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x64]
call fcn.0040a300
test ebp, ebp
jne 0x40533a
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x405095
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
lea edx, [esp + 0x8e4]
push edx
mov edi, str.stsd
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x4050ed
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4050d2
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x2c]
call fcn.0040a300
test ebp, ebp
jne 0x405342
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x405106
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
mov byte [esp + 0x1954], 0x16
mov ecx, dword [0x46d9b8]
mov eax, 1
sub eax, dword [ecx - 4]
mov ecx, dword [ecx - 8]
or ecx, eax
jge 0x405145
push 0
mov ecx, 0x46d9b8
call fcn.0040a5c0
lea edx, [esp + 0x8e4]
mov byte [esp + 0x1954], 0x12
mov edi, dword [0x46d9b8]
push edx
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x405190
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405175
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x38]
call fcn.0040a300
test ebp, ebp
jne 0x40534a
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4051a9
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
mov byte [esp + 0x1954], 0x17
mov ecx, dword [0x46d9bc]
mov eax, 1
sub eax, dword [ecx - 4]
mov ecx, dword [ecx - 8]
or ecx, eax
jge 0x4051e8
push 0
mov ecx, 0x46d9bc
call fcn.0040a5c0
lea edx, [esp + 0x8e4]
mov byte [esp + 0x1954], 0x12
mov edi, dword [0x46d9bc]
push edx
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x405233
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405218
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x50]
call fcn.0040a300
test ebp, ebp
jne 0x405352
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x40524c
call fcn.0043b394
sub esp, 0x830
mov ecx, esp
mov dword [esp + 0x848], esp
push esi
push ecx
call fcn.004023e0
mov byte [esp + 0x1954], bl
mov ecx, dword [0x46d9c0]
mov eax, 1
sub eax, dword [ecx - 4]
mov ecx, dword [ecx - 8]
or ecx, eax
jge 0x40528a
push 0
mov ecx, 0x46d9c0
call fcn.0040a5c0
lea edx, [esp + 0x8e4]
mov byte [esp + 0x1954], 0x12
mov edi, dword [0x46d9c0]
push edx
lea ecx, [esp + 0x1118]
call fcn.00401fa0
test eax, eax
je 0x4052db
lea eax, [esp + 0x4e4]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4052c0
sub eax, edx
push eax
lea eax, [esp + 0x4e8]
push eax
lea ecx, [esp + 0x48]
call fcn.0040a300
test ebp, ebp
jne 0x40535a
call fcn.0043b394
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4052f0
call fcn.0043b394
mov eax, dword [esp + 0x88]
add esi, 0x830
jmp 0x404ca0
mov eax, dword [ebp]
jmp 0x404cd6
mov eax, dword [ebp]
jmp 0x404d7a
mov eax, dword [ebp]
jmp 0x404e1d
mov eax, dword [ebp]
jmp 0x404ec0
mov eax, dword [ebp]
jmp 0x404f31
mov eax, dword [ebp]
jmp 0x404fa2
mov eax, dword [ebp]
jmp 0x40501a
mov eax, dword [ebp]
jmp 0x40508b
mov eax, dword [ebp]
jmp 0x4050fc
mov eax, dword [ebp]
jmp 0x40519f
mov eax, dword [ebp]
jmp 0x405242
mov eax, dword [ebp]
jmp 0x4052e6
mov edi, dword [esp + 0x24]
push ecx
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov esi, esp
push edi
mov dword [esp + 0x9c], edi
call fcn.00409fe0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0040ce00
mov esi, dword [esp + 0x58]
push 0x45ab58
push esi
call fcn.0043b4e8
add esp, 8
test eax, eax
jne 0x40559a
mov ecx, dword [esp + 0x60]
push ecx
call fcn.00406ac0
mov byte [esp + 0x1124], 0x11
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4053d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0x10
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4053fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0xf
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405423
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0xe
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405444
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
lea eax, [esi - 0x10]
mov byte [esp + 0x1124], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405468
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0xc
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405490
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0xb
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4054b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0xa
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4054e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 9
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405508
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 8
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405530
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 7
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405558
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb4]
push ecx
mov byte [esp + 0x1128], 6
call fcn.00401ba0
lea edx, [esp + 0x78]
push edx
mov byte [esp + 0x1128], 5
call fcn.00407f80
mov byte [esp + 0x1124], 4
call dword [sym.imp.ole32.dll_CoUninitialize]
lea eax, [esp + 0x8e4]
push eax
jmp 0x404b23
mov eax, dword [esp + 0x68]
push 0
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov esi, esp
push eax
mov dword [esp + 0x24], eax
call fcn.00409fe0
mov ecx, dword [esp + 0x6c]
add esp, 4
add eax, 0x10
push ecx
mov dword [esi], eax
call fcn.00405cb0
mov eax, dword [esp + 0x44]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x70], esp
mov esi, esp
push eax
mov dword [esp + 0x74], eax
call fcn.00409fe0
add esp, 4
add eax, 0x10
push 0
mov dword [esi], eax
call fcn.00406bf0
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
push eax
mov dword [esp + 0xa0], eax
call fcn.00409fe0
lea esi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x74], esi
mov bl, 0x19
mov byte [esp + 0x1124], bl
cmp dword [0x46d6b0], 0
je 0x40565f
cmp dword [0x46d6c0], 0
je 0x40565f
push ecx
lea eax, [esi - 0x10]
mov dword [esp + 0x68], esp
mov edi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0x112c], 0x1b
mov ecx, esp
mov dword [esp + 0x3c], esp
push str.deaqade
call fcn.0040a430
mov byte [esp + 0x112c], bl
call fcn.00406d80
lea eax, [esi - 0x10]
mov byte [esp + 0x1124], 0x12
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x405683
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
push eax
mov dword [esp + 0x78], eax
call fcn.00409fe0
lea esi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x64], esi
mov bl, 0x1e
mov byte [esp + 0x1124], bl
cmp dword [0x46d6b0], 0
je 0x4056f2
cmp dword [0x46d6b8], 0
je 0x4056f2
push ecx
lea eax, [esi - 0x10]
mov dword [esp + 0x38], esp
mov edi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0x112c], 0x21
mov ecx, esp
mov dword [esp + 0x44], esp
push str.depqe
call fcn.0040a430
mov byte [esp + 0x112c], bl
call fcn.00406d80
lea eax, [esi - 0x10]
mov byte [esp + 0x1124], 0x12
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405716
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
push eax
mov dword [esp + 0x68], eax
call fcn.00409fe0
lea esi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x34], esi
mov bl, 0x23
mov byte [esp + 0x1124], bl
cmp dword [0x46d6b0], 0
je 0x405785
cmp dword [0x46d6bc], 0
je 0x405785
push ecx
lea eax, [esi - 0x10]
mov dword [esp + 0x40], esp
mov edi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0x112c], 0x27
mov ecx, esp
mov dword [esp + 0x78], esp
push str.depce
call fcn.0040a430
mov byte [esp + 0x112c], bl
call fcn.00406d80
lea eax, [esi - 0x10]
mov byte [esp + 0x1124], 0x12
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4057a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [0x46d97c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x38], esp
mov esi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x112c], 0x28
mov eax, dword [0x46da5c]
add eax, 0xfffffff0
mov dword [esp + 0x44], esp
mov esi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov esi, SysReAllocStringLen
lea edi, [esp + 0x24]
mov byte [esp + 0x112c], 0x12
call fcn.00411620
add esp, 8
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1128], 0x29
call fcn.00409f40
mov byte [esp + 0x1124], 0x12
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40583a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0xa
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x46da40
call fcn.00407910
mov esi, eax
push 0xa
lea edx, [esp + 0x40]
mov byte [esp + 0x1128], 0x2a
push edx
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], 1
call fcn.00407910
mov edi, eax
mov dword [esp + 0x1124], 0x2b
mov ecx, dword [esi]
xor edx, edx
test ecx, ecx
setne dl
mov ebx, 3
mov dword [esp + 0x1c], ebx
test edx, edx
jne 0x40589a
push 0x80004005
call fcn.0040ad10
mov edi, dword [edi]
push ecx
push edi
call fcn.0043b4e8
add esp, 8
mov ebp, 0x2c
test eax, eax
jle 0x405925
push 0xa
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x30]
call fcn.00407910
mov esi, eax
push 0xa
lea ecx, [esp + 0x94]
push ecx
mov dword [esp + 0x112c], ebp
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], 7
call fcn.00407910
mov edi, eax
mov dword [esp + 0x1124], 0x2d
mov ecx, dword [esi]
xor edx, edx
test ecx, ecx
setne dl
mov ebx, 0xf
mov dword [esp + 0x1c], ebx
test edx, edx
jne 0x405910
push 0x80004005
call fcn.0040ad10
mov edi, dword [edi]
push ecx
push edi
call fcn.0043b4e8
add esp, 8
mov byte [esp + 0x23], 1
test eax, eax
jg 0x40592a
mov byte [esp + 0x23], 0
mov dword [esp + 0x1124], ebp
test bl, 8
je 0x405960
mov eax, dword [esp + 0x90]
and ebx, 0xfffffff7
add eax, 0xfffffff0
mov dword [esp + 0x1c], ebx
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x405960
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1124], 0x2b
test bl, 4
je 0x405997
mov eax, dword [esp + 0x70]
and ebx, 0xfffffffb
add eax, 0xfffffff0
mov dword [esp + 0x1c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405997
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1124], 0x2a
test bl, 2
je 0x4059ce
mov eax, dword [esp + 0x3c]
and ebx, 0xfffffffd
add eax, 0xfffffff0
mov dword [esp + 0x1c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4059ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1124], 0x12
test bl, 1
je 0x4059fe
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4059fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x23], 0
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x40]
je 0x405a74
push ecx
lea eax, [ebx - 0x10]
mov dword [esp + 0x20], esp
mov esi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x112c], 0x2e
lea eax, [edi - 0x10]
mov dword [esp + 0xb8], esp
mov esi, esp
push eax
call fcn.00409fe0
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x10]
mov dword [esp + 0xa4], esp
mov esi, esp
push eax
mov byte [esp + 0x1134], 0x2f
call fcn.00409fe0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x1130], 0x12
call fcn.004066e0
mov eax, dword [esp + 0x50]
push 1
push ecx
add eax, 0xfffffff0
mov dword [esp + 0xa0], esp
mov esi, esp
push eax
mov dword [esp + 0x28], eax
call fcn.00409fe0
mov ecx, dword [esp + 0x6c]
add esp, 4
add eax, 0x10
push ecx
mov dword [esi], eax
call fcn.00405cb0
lea eax, [edi - 0x10]
mov byte [esp + 0x1124], 0x11
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x405ac7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x1124], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405aeb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x1124], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405b0f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x1124], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405b37
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0xd
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405b5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0xc
mov eax, dword [esp + 0x64]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405b84
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 0xb
mov eax, dword [esp + 0x74]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405ba9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x9c]
mov byte [esp + 0x1124], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405bd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x1124], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405bf6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 8
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405c1b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1124], 7
mov eax, dword [esp + 0x1c]
jmp 0x40553f
add eax, 0xfffffff0
mov byte [esp + 0x1124], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405c50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1124], 0xffffffff
lea eax, [esi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405c77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x111c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1100]
xor ecx, esp
call fcn.0043a8ec
add esp, 0x1114
ret 4