Function at 0x1055433
Capabilities:
Resolve dns

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10dc219
mov eax, dword fs:[0]
push eax
mov eax, 0x151c
call fcn.010a11d0
mov eax, dword [0x10ed860]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x144c], ecx
mov dword [ebp - 0x1428], ebx
mov dword [ebp - 0x1454], esi
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10554ab
test byte [eax + 0x1c], 1
je 0x10554ab
cmp byte [eax + 0x19], 5
jb 0x10554ab
push esi
push ebx
push 0x1005038
push 0x24
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
xor edi, edi
mov edx, 0x80000000
cmp dword [0x10efc7c], edi
je 0x1055506
mov al, byte [0x10efc80]
cmp al, 4
jae 0x10554c7
test al, al
jne 0x1055506
mov ecx, dword [0x10efc6c]
and ecx, edx
xor eax, eax
or eax, ecx
je 0x1055506
mov ecx, dword [0x10efc74]
mov eax, ecx
and eax, edx
cmp edi, dword [0x10efc70]
jne 0x1055506
cmp eax, ecx
jne 0x1055506
push esi
push ebx
push dword [ebp + 8]
push 0x10025f8
push dword [0x10efc54]
push dword [0x10efc50]
call fcn.0104e6be
lea ecx, [ebp - 0x1488]
call fcn.010a70ef
mov dword [ebp - fcn.010aa31c], 0x1003568
lea ecx, [ebp - 0x1464]
mov dword [ebp - 4], edi
call fcn.010a70ef
mov dword [ebp - 0x1464], 0x1003244
lea ecx, [ebp - 0x1490]
mov byte [ebp - 4], 1
call fcn.010a70ef
mov dword [ebp - fcn.010aa31c], 0x10032f4
lea eax, [ebp - 0x1488]
cmp dword [ebp + 8], edi
jne 0x105555d
lea eax, [ebp - 0x1490]
mov dword [ebp - 0x1448], eax
mov dword [ebp - 0x1470], edi
mov dword [ebp - 0x1474], edi
mov dword [ebp - 0x1434], edi
mov dword [ebp - 0x1438], edi
mov dword [ebp - 0x1478], edi
mov ebx, 0x10f1178
push ebx
lea ecx, [ebp - 0x1450]
mov byte [ebp - 4], 7
call fcn.0104bdc3
push ebx
lea ecx, [ebp - 0x143c]
mov byte [ebp - 4], 8
call fcn.0104bdc3
push ebx
lea ecx, [ebp - 0x1458]
mov byte [ebp - 4], 9
call fcn.0104bdc3
xor eax, eax
mov esi, 0x1fe
push esi
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push edi
push eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x1430], edi
mov dword [ebp - 0x1444], edi
call sub.msvcrt.dll_memset
xor eax, eax
push esi
mov word [ebp - 0x410], ax
lea eax, [ebp - 0x40e]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
push ebx
lea ecx, [ebp - 0x146c]
mov dword [ebp - 0x147c], edi
mov dword [ebp - 0x1480], edi
mov byte [ebp - 0x1429], 0
mov dword [ebp - 0x145c], edi
mov dword [ebp - 0x1468], edi
call fcn.0104bdc3
push 0x10efed8
mov byte [ebp - 4], 0xb
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x10eff04]
push 0x10efed8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp esi, 1
jne 0x10557da
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x105567f
test byte [eax + 0x1c], 4
je 0x105567f
cmp byte [eax + 0x19], 4
jb 0x105567f
push 0x1005038
push 0x25
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e15
mov eax, dword [0x10ed030]
mov ebx, 0x8007045b
cmp dword [0x10efc7c], edi
je 0x10556ec
mov cl, byte [0x10efc80]
cmp cl, 4
jae 0x105569b
test cl, cl
jne 0x10556ec
mov edx, dword [0x10efc6c]
mov esi, 0x80000000
and edx, esi
xor ecx, ecx
or ecx, edx
je 0x10556ec
mov edx, dword [0x10efc74]
mov ecx, edx
and ecx, esi
cmp edi, dword [0x10efc70]
jne 0x10556ec
cmp ecx, edx
jne 0x10556ec
push ebx
push edi
push edi
push edi
push dword [ebp - 0x1428]
push dword [ebp + 8]
push 0x1002608
push dword [0x10efc54]
push dword [0x10efc50]
call fcn.0104e71a
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055712
test byte [eax + 0x1c], 1
je 0x1055712
cmp byte [eax + 0x19], 2
jb 0x1055712
push ebx
push 0x1005038
push 0x26
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
mov ecx, dword [ebp - 0x146c]
add ecx, 0xfffffff0
call fcn.010280a5
mov ecx, dword [ebp - 0x1458]
add ecx, 0xfffffff0
call fcn.010280a5
mov ecx, dword [ebp - 0x143c]
add ecx, 0xfffffff0
call fcn.010280a5
mov ecx, dword [ebp - 0x1450]
add ecx, 0xfffffff0
call fcn.010280a5
push dword [ebp - 0x1478]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
push dword [ebp - 0x1438]
call esi
push dword [ebp - 0x1434]
call esi
mov eax, dword [ebp - 0x1474]
mov byte [ebp - 4], 3
cmp eax, edi
je 0x105577c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1470]
mov byte [ebp - 4], 2
cmp eax, edi
je 0x1055790
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, ebx
mov ecx, dword [ebp - 0x148c]
add ecx, 0xfffffff0
call fcn.010280a5
mov ecx, dword [ebp - 0x1460]
add ecx, 0xfffffff0
call fcn.010280a5
mov ecx, dword [ebp - 0x1484]
add ecx, 0xfffffff0
call fcn.010280a5
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 - 0x10]
xor ecx, ebp
call fcn.010a0b37
leave
ret 0xc
mov eax, dword [ebp - 0x1428]
mov ecx, dword [eax]
lea edx, [ebp - 0x1470]
push edx
push 0x100a7b0
push eax
call dword [ecx]
mov esi, eax
cmp esi, edi
jge 0x1055a26
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055831
test byte [eax + 0x1c], 2
je 0x1055831
cmp byte [eax + 0x19], 2
jb 0x1055831
push esi
push dword [ebp - 0x1428]
push 0x1005038
push 0x27
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
mov eax, dword [0x10ed030]
mov edi, 0x1005038
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x1055876
mov ecx, dword [ebp - 0x1450]
cmp dword [ecx - 0xc], ebx
je 0x1055876
mov ecx, dword [ebp - 0x143c]
cmp dword [ecx - 0xc], ebx
je 0x1055876
lea eax, [ebp - 0x143c]
push eax
lea eax, [ebp - 0x1450]
push eax
mov ecx, 0x10eff3c
call fcn.0105526c
cmp esi, ebx
jl 0x1055871
mov esi, eax
mov eax, dword [0x10ed030]
cmp dword [ebp - 0x1468], ebx
je 0x105588f
push dword [ebp - 0x1468]
call dword [sym.imp.WS2_32.dll_FreeAddrInfoW]
mov eax, dword [0x10ed030]
cmp dword [ebp - 0x147c], 1
jne 0x10558b0
mov ecx, dword [ebp - 0x1448]
push ebx
push ebx
push dword [ebp - 0x1430]
call fcn.010a7ed1
mov eax, dword [0x10ed030]
cmp dword [ebp - 0x1480], ebx
je 0x10558d0
push ebx
push ebx
push dword [ebp - 0x1444]
lea ecx, [ebp - 0x1464]
call fcn.010a7ed1
mov eax, dword [0x10ed030]
cmp dword [ebp - 0x145c], ebx
je 0x10558ea
mov ecx, dword [ebp - 0x145c]
push 1
call fcn.0105103f
mov eax, dword [0x10ed030]
cmp dword [0x10efc7c], ebx
je 0x105596e
mov cl, byte [0x10efc80]
cmp cl, 4
jae 0x1055901
test cl, cl
jne 0x105596e
mov edx, dword [0x10efc6c]
and edx, 0x80000000
xor ecx, ecx
or ecx, edx
je 0x105596e
mov edx, dword [0x10efc74]
mov ecx, edx
xor ebx, ebx
and ecx, 0x80000000
cmp ebx, dword [0x10efc70]
jne 0x105596c
cmp ecx, edx
jne 0x105596c
xor eax, eax
cmp byte [ebp - 0x1429], al
push esi
setne al
push eax
push dword [ebp - 0x146c]
push dword [ebp - 0x143c]
push dword [ebp - 0x1428]
push dword [ebp + 8]
push 0x1002608
push dword [0x10efc54]
push dword [0x10efc50]
call fcn.0104e71a
mov eax, dword [0x10ed030]
xor ebx, ebx
cmp eax, 0x10ed030
je 0x105599f
test byte [eax + 0x1c], 1
je 0x105599f
movzx ecx, byte [eax + 0x19]
xor edx, edx
cmp esi, ebx
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x105599f
push esi
push edi
push 0x47
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
mov ecx, dword [ebp - 0x146c]
add ecx, 0xfffffff0
call fcn.010280a5
mov ecx, dword [ebp - 0x1458]
add ecx, 0xfffffff0
call fcn.010280a5
mov ecx, dword [ebp - 0x143c]
add ecx, 0xfffffff0
call fcn.010280a5
mov ecx, dword [ebp - 0x1450]
add ecx, 0xfffffff0
call fcn.010280a5
push dword [ebp - 0x1478]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
push dword [ebp - 0x1438]
call edi
push dword [ebp - 0x1434]
call edi
mov eax, dword [ebp - 0x1474]
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x1055a09
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1470]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x1055792
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1055792
mov eax, dword [ebp - 0x1470]
mov ecx, dword [eax]
lea edx, [ebp - 0x1438]
push edx
push eax
call dword [ecx + 0xc]
mov esi, eax
cmp esi, edi
jge 0x1055a76
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055831
test byte [eax + 0x1c], 2
je 0x1055831
cmp byte [eax + 0x19], 2
jb 0x1055831
push esi
push dword [ebp - 0x1428]
push 0x1005038
push 0x28
jmp 0x1055821
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055aad
test byte [eax + 0x1c], 2
je 0x1055aad
cmp byte [eax + 0x19], 4
jb 0x1055aad
push esi
push dword [ebp - 0x1438]
push dword [ebp - 0x1428]
push 0x1005038
push 0x29
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01040c27
push 0x3c
pop esi
push esi
lea eax, [ebp - 0x1508]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push dword [ebp - 0x1438]
lea eax, [ebp - 0x210]
mov dword [ebp - 0x1508], esi
mov dword [ebp - 0x14f8], eax
mov dword [ebp - 0x14f4], 0xff
call dword [sym.imp.OLEAUT32.dll_VariantInit]
lea ecx, [ebp - 0x1508]
push ecx
push 0x10000000
push eax
push dword [ebp - 0x1438]
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x1055b66
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055b4a
test byte [eax + 0x1c], 2
je 0x1055b4a
cmp byte [eax + 0x19], 2
jb 0x1055b4a
push ebx
push dword [ebp - 0x1428]
push dword [ebp - 0x1438]
push 0x1005038
push 0x2a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0106e7a2
mov eax, dword [0x10ed030]
cmp ebx, edi
mov edi, 0x1005038
jle 0x1055b5f
and ebx, 0xffff
or ebx, 0x80070000
mov esi, ebx
jmp 0x1055836
cmp dword [ebp - 0x14fc], 1
je 0x1055bbc
mov esi, 0x80070057
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055831
test byte [eax + 0x1c], 2
je 0x1055831
cmp byte [eax + 0x19], 2
jb 0x1055831
push esi
push dword [ebp - 0x1428]
push dword [ebp - 0x1438]
push 0x1005038
push 0x2b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0106e7a2
jmp 0x105582c
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055bed
test byte [eax + 0x1c], 4
je 0x1055bed
cmp byte [eax + 0x19], 4
jb 0x1055bed
lea ecx, [ebp - 0x210]
push ecx
push 0x1005038
push 0x2c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e3b
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x1528]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1468]
push eax
lea eax, [ebp - 0x1528]
push eax
push 0
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 0x1528], 4
call dword [sym.imp.WS2_32.dll_GetAddrInfoW]
mov dword [ebp - 0x1440], eax
test eax, eax
je 0x1055cee
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov ebx, eax
mov esi, ebx
test ebx, ebx
jle 0x1055c49
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jl 0x1055c9c
mov esi, 0x80004005
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055831
test byte [eax + 0x1c], 2
je 0x1055ca1
cmp byte [eax + 0x19], 2
jb 0x1055ca1
push ebx
push dword [ebp - 0x1428]
lea ecx, [ebp - 0x210]
push dword [ebp - 0x1438]
mov edi, 0x1005038
push ecx
push edi
push 0x2d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010a1d4d
mov eax, dword [0x10ed030]
jmp 0x1055ca6
mov eax, dword [0x10ed030]
mov edi, 0x1005038
cmp eax, 0x10ed030
je 0x1055831
test byte [eax + 0x1c], 4
je 0x1055831
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x1055831
push ebx
push esi
push edi
push 0x2e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
mov eax, dword [0x10ed030]
jmp 0x1055836
lea ecx, [ebp - 0x141c]
call fcn.0106136c
mov esi, dword [ebp - 0x1468]
push 6
pop edi
mov dword [ebp - 0x1424], edi
test esi, esi
je 0x1055d9f
lea eax, [ebp - 0x1424]
push eax
lea eax, [ebp - 0x141c]
push eax
push dword [esi + 0x18]
call fcn.0104f69c
mov ecx, eax
test ecx, ecx
je 0x1055d39
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0x1424], edi
test esi, esi
jne 0x1055d10
test esi, esi
jne 0x1055da9
test ecx, ecx
jle 0x1055da5
mov esi, ecx
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055831
test byte [eax + 0x1c], 2
je 0x1055831
cmp byte [eax + 0x19], 2
jb 0x1055831
push ecx
push dword [ebp - 0x1428]
lea ecx, [ebp - 0x210]
push dword [ebp - 0x1438]
mov edi, 0x1005038
push ecx
push edi
push 0x2f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010a1d4d
jmp 0x1055ce4
mov ecx, dword [ebp - 0x1440]
mov esi, ecx
jmp 0x1055d4f
lea eax, [ebp - 0x1450]
push eax
lea ecx, [ebp - 0x141c]
call fcn.010613d7
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055df4
test byte [eax + 0x1c], 4
je 0x1055df4
cmp byte [eax + 0x19], 4
jb 0x1055df4
push dword [ebp - 0x1428]
mov edi, 0x1005038
push dword [ebp - 0x1450]
push edi
push 0x30
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104adee
jmp 0x1055df9
mov edi, 0x1005038
mov eax, dword [ebp - 0x1428]
mov ecx, dword [eax]
lea edx, [ebp - 0x1434]
push edx
push eax
call dword [ecx + 0x30]
mov esi, eax
test esi, esi
jl 0x1056c1c
push dword [ebp - 0x1434]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1056c17
push dword [ebp - 0x1434]
lea ecx, [ebp - 0x143c]
call fcn.01028aa7
mov esi, dword [ebp - 0x143c]
push 0xffffffffffffffff
push 0x10056e0
push 5
push esi
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x1055eae
mov esi, 0x80070057
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055836
test byte [eax + 0x1c], 2
je 0x1055836
cmp byte [eax + 0x19], 2
jb 0x1055836
push dword [ebp - 0x143c]
push dword [ebp - 0x1450]
push dword [ebp - 0x1428]
push dword [ebp - 0x1438]
push edi
push 0x32
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104ec8a
jmp 0x1055ce4
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055ee0
test byte [eax + 0x1c], 2
je 0x1055ee0
cmp byte [eax + 0x19], 4
jb 0x1055ee0
push dword [ebp - 0x1450]
push dword [ebp - 0x1434]
push edi
push 0x33
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102c7ac
cmp dword [ebp + 8], 0
lea eax, [esi + 0xa]
mov dword [ebp - 0x1444], eax
je 0x1055ef5
mov eax, dword [ebp - 0x1450]
cmp dword [0x10efc9c], 0
mov dword [ebp - 0x1430], eax
je 0x1055f38
push eax
lea ecx, [ebp - 0x1424]
call fcn.01028b65
mov ecx, dword [0x10efc9c]
lea eax, [ebp - 0x1424]
push eax
mov byte [ebp - 4], 0xc
call fcn.0102d6ec
mov ecx, dword [ebp - 0x1424]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.010280a5
push 0x10efed8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp - 0x1430]
mov ecx, dword [ebp - 0x1448]
xor esi, esi
mov dword [ebp - 0x1418], esi
call fcn.010a7ad9
test eax, eax
jne 0x1055fea
push dword [ebp - 0x1430]
mov ecx, dword [ebp - 0x1448]
call fcn.010a7d05
cmp eax, 0xb7
je 0x10560bb
mov dword [ebp - 0x147c], 1
test eax, eax
je 0x10560bb
jle 0x1055f9e
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10560b3
test byte [eax + 0x1c], 2
je 0x10560b3
cmp byte [eax + 0x19], 2
jb 0x10560b3
push esi
push dword [ebp - 0x1430]
push dword [ebp - 0x1428]
push dword [ebp - 0x1438]
push edi
push 0x34
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104ee12
jmp 0x10560b3
and dword [ebp - 0x147c], esi
push ebx
lea ecx, [ebp - 0x1440]
call fcn.0104bdc3
mov ecx, dword [ebp - 0x1448]
lea eax, [ebp - 0x1440]
push eax
mov esi, 0x1005718
push esi
push dword [ebp - 0x1430]
mov byte [ebp - 4], 0xd
call fcn.010a897a
mov dword [ebp - 0x1424], eax
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1056050
test byte [eax + 0x1c], 4
je 0x1056050
cmp byte [eax + 0x19], 4
jb 0x1056050
push dword [ebp - 0x1424]
push edi
push 0x35
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
cmp dword [ebp - 0x1424], 0
jne 0x105609b
mov ecx, dword [ebp - 0x1448]
push esi
push dword [ebp - 0x1430]
call fcn.010a9637
mov ecx, dword [0x10ed030]
cmp ecx, 0x10ed030
je 0x1056094
test byte [ecx + 0x1c], 4
je 0x1056094
cmp byte [ecx + 0x19], 4
jb 0x1056094
push eax
push edi
push 0x36
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01027ecb
and dword [ebp - 0x1418], 0
mov ecx, dword [ebp - 0x1440]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.010280a5
mov esi, dword [ebp - 0x1418]
test esi, esi
jl 0x1056169
cmp dword [ebp + 8], 0
je 0x1056169
push dword [ebp - 0x1444]
lea ecx, [ebp - 0x1464]
call fcn.010a7ad9
test eax, eax
jne 0x1056147
push dword [ebp - 0x1444]
lea ecx, [ebp - 0x1464]
call fcn.010a7d05
cmp eax, 0xb7
je 0x1056147
mov dword [ebp - 0x1480], 1
test eax, eax
je 0x1056147
jle 0x105610c
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1056147
test byte [eax + 0x1c], 2
je 0x1056147
cmp byte [eax + 0x19], 2
jb 0x1056147
push esi
push dword [ebp - 0x1444]
push dword [ebp - 0x1428]
push dword [ebp - 0x1438]
push edi
push 0x37
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104ee12
test esi, esi
jl 0x1056169
push 1
push dword [ebp - 0x1430]
lea ecx, [ebp - 0x1464]
push 0x1005700
push dword [ebp - 0x1444]
call fcn.010a921e
push 0x10efed8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
jl 0x1055ce4
cmp dword [ebp + 8], 0
je 0x10561d6
push dword [ebp - 0x1428]
mov ecx, dword [ebp - 0x144c]
call fcn.01052946
xor ecx, ecx
test al, al
setne cl
mov esi, 0x10051e4
mov byte [ebp - 0x1429], al
push ecx
push esi
push dword [ebp - 0x1430]
mov dword [ebp - 0x1424], ecx
mov ecx, dword [ebp - 0x1448]
call fcn.010a8b27
push dword [ebp - 0x1424]
lea ecx, [ebp - 0x1464]
push esi
push dword [ebp - 0x1444]
call fcn.010a8b27
mov esi, dword [ebp - 0x1428]
mov ecx, dword [ebp - 0x144c]
lea eax, [ebp - 0x146c]
push eax
push dword [ebp - 0x1430]
push dword [ebp - 0x1448]
push esi
call fcn.01052cb3
push dword [ebp - 0x1454]
mov ecx, dword [ebp - 0x144c]
push dword [ebp - 0x1430]
push dword [ebp - 0x1448]
push esi
call fcn.010530e0
cmp dword [ebp + 8], 0
je 0x105627c
push ebx
lea ecx, [ebp - 0x1424]
call fcn.0104bdc3
mov ecx, dword [ebp - 0x144c]
lea eax, [ebp - 0x1424]
push eax
push dword [ebp - 0x1444]
lea eax, [ebp - 0x1464]
push eax
push esi
mov byte [ebp - 4], 0xe
call fcn.01052cb3
push dword [ebp - 0x1454]
mov ecx, dword [ebp - 0x144c]
push dword [ebp - 0x1444]
lea eax, [ebp - 0x1464]
push eax
push esi
call fcn.010530e0
mov ecx, dword [ebp - 0x1424]
add ecx, 0xfffffff0
call fcn.010280a5
and dword [ebp - 0x1424], 0
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x1454], 0x1005108
mov dword [ebp - 0x1440], 0x1005048
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x144c]
call fcn.0102e1f1
push dword [ebp - 0x144c]
mov byte [ebp - 4], 0xf
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x10562cd
push dword [ebp - 0x144c]
jmp 0x105644a
push dword [ebp - 0x1434]
call esi
mov eax, dword [ebp - 0x1428]
mov ecx, dword [eax]
and dword [ebp - 0x1434], 0
lea edx, [ebp - 0x1434]
push edx
push 0x18
push 0x30
push 0x30
push dword [ebp - 0x144c]
push eax
call dword [ecx + 0x60]
push dword [ebp - 0x144c]
mov dword [ebp - 0x1418], eax
call esi
and dword [ebp - 0x144c], 0
cmp dword [ebp - 0x1418], 0
jl 0x1056439
push dword [ebp - 0x1434]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1056439
xor eax, eax
push 0x1000
push eax
mov word [ebp - 0x1414], ax
lea eax, [ebp - 0x1412]
push eax
call sub.msvcrt.dll_memset
push 0x3c
lea eax, [ebp - 0x14cc]
push 0
push eax
call sub.msvcrt.dll_memset
lea eax, [ebp - 0x410]
add esp, 0x18
push dword [ebp - 0x1434]
mov dword [ebp - 0x14bc], eax
lea eax, [ebp - 0x1414]
mov dword [ebp - 0x14cc], 0x3c
mov dword [ebp - 0x14a0], eax
mov dword [ebp - 0x149c], 0x800
mov dword [ebp - 0x14b8], 0xff
call dword [sym.imp.OLEAUT32.dll_VariantInit]
lea ecx, [ebp - 0x14cc]
push ecx
push 0x10000000
push eax
push dword [ebp - 0x1434]
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x10563d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10563d2
and eax, 0xffff
or eax, 0x80070000
mov ecx, eax
jmp 0x105640c
cmp dword [ebp - 0x14c0], 1
je 0x10563e6
mov ecx, 0x80070057
jmp 0x1056410
push 0xffffffffffffffff
lea eax, [ebp - 0x410]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x210]
push eax
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x105647a
mov ecx, 0x80070057
test ecx, ecx
jge 0x1056448
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1056448
test byte [eax + 0x1c], 2
je 0x1056448
cmp byte [eax + 0x19], 2
jb 0x1056448
push ecx
push edi
push 0x38
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
jmp 0x1056448
push dword [ebp - 0x1434]
call esi
and dword [ebp - 0x1434], 0
push 0
mov byte [ebp - 4], 0xb
call esi
add dword [ebp - 0x1424], 0x20
add dword [ebp - 0x1440], 0x20
add dword [ebp - 0x1454], 0xa
cmp dword [ebp - 0x1424], 0xc0
jb 0x105629d
jmp 0x105662b
push 0x18
call fcn.010a08d3
pop ecx
test eax, eax
je 0x1056497
mov ecx, eax
call fcn.01050aaa
mov esi, eax
mov dword [ebp - 0x145c], eax
jmp 0x105649f
xor esi, esi
mov dword [ebp - 0x145c], esi
test esi, esi
je 0x105661f
push dword [ebp - 0x1434]
mov ecx, esi
call fcn.01028b05
lea ecx, [esi + 4]
push 0x104
mov dword [ebp - 0x1418], ecx
call fcn.0102869f
push 0x104
push eax
call fcn.0104e2de
test eax, eax
jne 0x1056612
cmp dword [ebp - 0x1454], eax
je 0x1056612
push ebx
lea ecx, [ebp - 0x1440]
call fcn.0104bdc3
mov ecx, dword [ebp - 0x1418]
push 0xffffffffffffffff
mov byte [ebp - 4], 0x10
call fcn.0102f001
push dword [ebp - 0x1430]
lea ecx, [ebp - 0x1440]
call fcn.01028aa7
push dword [ebp - 0x1454]
lea ecx, [ebp - 0x1440]
call fcn.01028a81
mov ecx, dword [ebp - 0x1418]
push 0x1005538
call fcn.01028a81
cmp dword [ebp + 8], 0
je 0x105659d
push ebx
lea ecx, [ebp - 0x1424]
call fcn.0104bdc3
lea eax, [ebp - 0x1424]
push eax
push dword [ebp - 0x1444]
mov byte [ebp - 4], 0x11
call fcn.010a7a35
test eax, eax
jne 0x105658b
push dword [ebp - 0x1418]
lea ebx, [esi + 8]
mov ecx, ebx
call fcn.01028acd
push dword [ebp - 0x1424]
mov ecx, ebx
call fcn.01052860
push dword [ebp - 0x1454]
mov ecx, ebx
call fcn.0103374b
mov ecx, dword [ebp - 0x1424]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x10
call fcn.010280a5
mov eax, dword [ebp - 0x1440]
push dword [eax - 0xc]
mov ecx, dword [ebp - 0x1418]
push eax
call fcn.01028939
push dword [ebp - 0x1430]
lea ecx, [esi + 0xc]
call fcn.01028b05
push dword [ebp - 0x1444]
lea ecx, [esi + 0x10]
call fcn.01028b05
mov eax, dword [ebp + 8]
mov ebx, 0x10efef4
push ebx
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push 0x10
push esi
push 0x1051a9c
call dword [sym.imp.KERNEL32.dll_QueueUserWorkItem]
test eax, eax
je 0x10565fb
and dword [ebp - 0x145c], 0
jmp 0x1056602
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov ecx, dword [ebp - 0x1440]
add ecx, 0xfffffff0
call fcn.010280a5
jmp 0x105661f
mov ecx, dword [ebp - 0x1418]
push 0
call fcn.01028151
push 0
mov byte [ebp - 4], 0xb
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x1428]
mov ecx, dword [eax]
lea edx, [ebp - 0x1474]
push edx
push 0x100a7c0
push eax
call dword [ecx]
mov esi, eax
test esi, esi
jge 0x1056686
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055836
test byte [eax + 0x1c], 2
je 0x1055836
cmp byte [eax + 0x19], 2
jb 0x1055836
push esi
push dword [ebp - 0x1428]
push edi
push 0x39
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
jmp 0x1055ce4
mov eax, dword [ebp - 0x1474]
mov ecx, dword [eax]
lea edx, [ebp - 0x1478]
push edx
push eax
call dword [ecx + 0xc]
mov esi, eax
test esi, esi
jge 0x10566cf
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055836
test byte [eax + 0x1c], 2
je 0x1055836
cmp byte [eax + 0x19], 2
jb 0x1055836
push esi
push dword [ebp - 0x1428]
push edi
push 0x3a
jmp 0x1056676
push dword [ebp + 8]
mov ebx, dword [ebp - 0x1430]
push ebx
push dword [ebp - 0x1478]
call fcn.01053ad0
push 0x10efed8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 8], 0
je 0x1056804
push ebx
push dword [ebp - 0x143c]
mov ecx, 0x10ed270
call fcn.0104d33e
mov eax, dword [0x10ed030]
mov esi, 0x10ed030
cmp eax, esi
je 0x105673e
test byte [eax + 0x1c], 4
je 0x105673e
cmp byte [eax + 0x19], 5
jb 0x105673e
push ebx
push dword [ebp - 0x143c]
push edi
push 0x3b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102c7ac
mov eax, dword [0x10ed030]
mov ecx, dword [0x10ed274]
mov dword [0x10eff28], ecx
mov dword [0x10eff24], ecx
cmp eax, esi
je 0x1056774
test byte [eax + 0x1c], 4
je 0x1056774
cmp byte [eax + 0x19], 5
jb 0x1056774
push ecx
push edi
push 0x3c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
mov eax, dword [0x10ed030]
cmp byte [ebp - 0x1429], 0
je 0x10567d0
push 0
push dword [ebp - 0x143c]
mov ebx, 0x10ed2a0
mov ecx, ebx
call fcn.0102ecac
test eax, eax
jne 0x10567cb
push dword [ebp - 0x143c]
mov ecx, ebx
call fcn.0104444f
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x10567d0
test byte [eax + 0x1c], 4
je 0x10567d0
cmp byte [eax + 0x19], 5
jb 0x10567d0
push dword [ebp - 0x143c]
push edi
push 0x3d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e3b
mov eax, dword [0x10ed030]
mov ecx, dword [0x10ed2a8]
mov dword [0x10eff30], ecx
mov dword [0x10eff34], ecx
cmp eax, esi
je 0x105687f
test byte [eax + 0x1c], 4
je 0x105687f
cmp byte [eax + 0x19], 5
jb 0x105687f
push ecx
push edi
push 0x3e
jmp 0x1056874
push 0
mov esi, 0x10ed258
push ebx
mov ecx, esi
call fcn.0102ecac
test eax, eax
jne 0x105684a
push ebx
mov ecx, esi
call fcn.0104444f
mov eax, dword [0x10ed030]
mov esi, 0x10ed030
cmp eax, esi
je 0x1056854
test byte [eax + 0x1c], 4
je 0x1056854
cmp byte [eax + 0x19], 5
jb 0x1056854
push ebx
push edi
push 0x3f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e3b
jmp 0x105684f
mov esi, 0x10ed030
mov eax, dword [0x10ed030]
mov ecx, dword [0x10ed260]
mov dword [0x10eff2c], ecx
cmp eax, esi
je 0x105687f
test byte [eax + 0x1c], 4
je 0x105687f
cmp byte [eax + 0x19], 5
jb 0x105687f
push ecx
push edi
push 0x40
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
push dword [ebp - 0x14f8]
lea ecx, [ebp - 0x1458]
call fcn.01028aa7
push 0x5b
lea ecx, [ebp - 0x1458]
call fcn.01051e3a
push 0x5d
lea ecx, [ebp - 0x1458]
call fcn.01051e3a
push dword [ebp - 0x1458]
mov ecx, dword [ebp - 0x1448]
mov ebx, 0x10056ec
push ebx
push dword [ebp - 0x1430]
call fcn.010a8d29
cmp dword [ebp + 8], 0
je 0x10568e5
push dword [ebp - 0x1458]
lea ecx, [ebp - 0x1464]
push ebx
push dword [ebp - 0x1444]
call fcn.010a8d29
mov ecx, dword [ebp - 0x1448]
push 1
mov ebx, 0x10041d4
push ebx
push dword [ebp - 0x1430]
call fcn.010a8b27
cmp dword [ebp + 8], 0
je 0x1056918
push 1
push ebx
push dword [ebp - 0x1444]
lea ecx, [ebp - 0x1464]
call fcn.010a8b27
xor eax, eax
mov dword [ebp - 0x1420], eax
mov dword [ebp - 0x141c], eax
mov dword [ebp - 0x1418], eax
mov dword [ebp - 0x1424], 0x1003598
cmp dword [ebp + 8], eax
jne 0x1056945
mov dword [ebp - 0x1424], 0x1003328
push 0x20106
push dword [ebp - 0x1424]
lea ecx, [ebp - 0x1420]
push 0x80000002
call fcn.010292c5
mov ebx, eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x105699a
test byte [eax + 0x1c], 2
je 0x105699a
movzx ecx, byte [eax + 0x19]
mov edx, ebx
neg edx
sbb edx, edx
and edx, 0xfffffffd
add edx, 5
cmp ecx, edx
jl 0x105699a
push dword [ebp - 0x1424]
push ebx
push edi
push 0x41
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102c716
test ebx, ebx
jne 0x1056a96
lea ecx, [ebp - 0x1420]
cmp dword [ebp + 8], ebx
je 0x1056a4d
push dword [0x10eff28]
push 0x1004270
call fcn.0102c68f
mov ecx, dword [0x10ed030]
cmp ecx, esi
je 0x10569fa
test byte [ecx + 0x1c], 2
je 0x10569fa
movzx edx, byte [ecx + 0x19]
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffd
add ebx, 5
cmp edx, ebx
jl 0x10569fa
push dword [0x10eff28]
push eax
push edi
push 0x42
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0102cde9
cmp byte [ebp - 0x1429], 0
je 0x1056a96
push dword [0x10eff30]
lea ecx, [ebp - 0x1420]
push 0x1004248
call fcn.0102c68f
mov ecx, dword [0x10ed030]
cmp ecx, esi
je 0x1056a96
test byte [ecx + 0x1c], 2
je 0x1056a96
movzx edx, byte [ecx + 0x19]
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffd
add ebx, 5
cmp edx, ebx
jl 0x1056a96
push dword [0x10eff30]
push eax
push edi
push 0x43
jmp 0x1056a8b
push dword [0x10eff2c]
push 0x1004224
call fcn.0102c68f
mov ecx, dword [0x10ed030]
cmp ecx, esi
je 0x1056a96
test byte [ecx + 0x1c], 2
je 0x1056a96
movzx edx, byte [ecx + 0x19]
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffd
add ebx, 5
cmp edx, ebx
jl 0x1056a96
push dword [0x10eff2c]
push eax
push edi
push 0x44
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0102cde9
lea ecx, [ebp - 0x1420]
call fcn.010292a7
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x1056b8b
push 0x20106
push 0x1003278
push 0x80000002
lea ecx, [ebp - 0x1420]
mov dword [ebp - 0x1420], ebx
mov dword [ebp - 0x141c], ebx
mov dword [ebp - 0x1418], ebx
call fcn.010292c5
cmp eax, ebx
jne 0x1056b80
push dword [0x10eff24]
lea ecx, [ebp - 0x1420]
push 0x1004270
call fcn.0102c68f
mov ecx, dword [0x10ed030]
cmp ecx, esi
je 0x1056b31
test byte [ecx + 0x1c], 2
je 0x1056b31
movzx edx, byte [ecx + 0x19]
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffd
add ebx, 5
cmp edx, ebx
jl 0x1056b2f
push dword [0x10eff24]
push eax
push edi
push 0x45
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0102cde9
xor ebx, ebx
push dword [0x10eff34]
lea ecx, [ebp - 0x1420]
push 0x1004248
call fcn.0102c68f
mov ecx, dword [0x10ed030]
cmp ecx, esi
je 0x1056b80
test byte [ecx + 0x1c], 2
je 0x1056b80
movzx edx, byte [ecx + 0x19]
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xfffffffd
add esi, 5
cmp edx, esi
jl 0x1056b80
push dword [0x10eff34]
push eax
push edi
push 0x46
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0102cde9
lea ecx, [ebp - 0x1420]
call fcn.010292a7
cmp dword [0x10efc7c], ebx
je 0x1056bf9
mov al, byte [0x10efc80]
cmp al, 4
jae 0x1056ba0
test al, al
jne 0x1056bf9
mov ecx, dword [0x10efc6c]
mov edx, 0x80000000
and ecx, edx
xor eax, eax
or eax, ecx
je 0x1056bf9
mov ecx, dword [0x10efc74]
mov eax, ecx
and eax, edx
xor edx, edx
cmp edx, dword [0x10efc70]
jne 0x1056bf9
cmp eax, ecx
jne 0x1056bf9
push dword [0x10eff34]
push dword [0x10eff24]
push dword [0x10eff30]
push dword [0x10eff28]
push 0x1002618
push dword [0x10efc54]
push dword [0x10efc50]
call fcn.0104e870
push 0x10efed8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x147c], ebx
mov dword [ebp - 0x1480], ebx
xor esi, esi
jmp 0x1055ce4
mov esi, 0x80070057
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x1055831
test byte [eax + 0x1c], 2
je 0x1055831
cmp byte [eax + 0x19], 2
jb 0x1055831
push esi
push dword [ebp - 0x1450]
push dword [ebp - 0x1428]
push dword [ebp - 0x1438]
push edi
push 0x31
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104ee12
jmp 0x1055ce4