Function at 0x45ae90
Capabilities:
Parse url
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49fd43
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x29cc
call fcn.0048db70
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28f4], ecx
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45aed3
mov dword [0x4b6678], 0x4e32
jmp 0x45aee0
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4e34
mov dword [ebp - 4], 0
xor edx, edx
je 0x45aef5
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x28f4]
xor ecx, ecx
cmp dword [eax + 4], 0
sete cl
movzx edx, cl
test edx, edx
je 0x45b217
xor eax, eax
je 0x45af1d
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x28f4]
xor edx, edx
cmp dword [ecx + 8], 0
sete dl
movzx eax, dl
neg eax
sbb eax, eax
inc eax
movzx ecx, al
test ecx, ecx
je 0x45b217
mov dword [ebp - 0x8dc], 0
mov dword [ebp - 0x8d4], 0
mov dword [ebp - 0x8d8], 0
mov edx, dword [ebp - 0x28f4]
xor eax, eax
cmp dword [edx + 8], 0
setne al
movzx ecx, al
test ecx, ecx
je 0x45b0dc
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45af8b
mov dword [0x4b6678], 0x4e42
jmp 0x45af98
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x4e44
mov ecx, dword [ebp - 0x28f4]
add ecx, 8
mov dword [ebp - 0x1970], ecx
mov edx, dword [ebp - 0x1974]
mov dword [ebp - 0x28f8], edx
mov eax, dword [ebp - 0x1970]
cmp dword [eax], 0
jne 0x45afc8
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x1970]
mov edx, dword [ecx]
mov dword [ebp - 0x28f8], edx
mov eax, dword [ebp - 0x28f8]
push eax
mov ecx, dword [ebp - 0x28f8]
mov edx, dword [ecx]
call dword [edx + 4]
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45affc
mov dword [0x4b6678], 0x4e49
jmp 0x45b009
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4e4b
mov edx, dword [ebp - 0x28f4]
add edx, 8
mov dword [ebp - 0x1978], edx
mov eax, dword [ebp - 0x197c]
mov dword [ebp - 0x28fc], eax
mov ecx, dword [ebp - 0x1978]
cmp dword [ecx], 0
jne 0x45b039
push 0x80004003
call fcn.0048b8a0
mov edx, dword [ebp - 0x1978]
mov eax, dword [edx]
mov dword [ebp - 0x28fc], eax
mov ecx, dword [ebp - 0x28fc]
push ecx
mov edx, dword [ebp - 0x28fc]
mov eax, dword [edx]
call dword [eax + 8]
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45b06d
mov dword [0x4b6678], 0x4e50
jmp 0x45b07a
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x4e52
mov eax, dword [ebp - 0x28f4]
add eax, 8
mov dword [ebp - 0x1980], eax
mov ecx, dword [ebp - 0x1984]
mov dword [ebp - 0x2900], ecx
mov edx, dword [ebp - 0x1980]
cmp dword [edx], 0
jne 0x45b0aa
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x1980]
mov ecx, dword [eax]
mov dword [ebp - 0x2900], ecx
push 0
push 0
mov edx, dword [ebp - 0x8d4]
push edx
mov eax, dword [ebp - 0x8d8]
push eax
mov ecx, dword [ebp - 0x2900]
push ecx
mov edx, dword [ebp - 0x2900]
mov eax, dword [edx]
call dword [eax + 0x14]
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45b0f0
mov dword [0x4b6678], 0x4e58
jmp 0x45b0fd
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x4e5a
mov eax, dword [ebp - 0x28f4]
add eax, 4
mov dword [ebp - 0x1988], eax
mov ecx, dword [ebp - 0x1988]
cmp dword [ecx], 0
je 0x45b12d
mov edx, dword [ebp - 0x1988]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x1988]
mov edx, dword [ecx]
mov eax, dword [edx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x1988]
mov dword [ecx], 0
mov edx, dword [ebp - 0x28f4]
mov eax, dword [edx + 8]
mov dword [ebp - 0x198c], eax
mov ecx, dword [ebp - 0x1988]
push ecx
push 0x4a3114
mov edx, dword [ebp - 0x198c]
push edx
call dword [sym.imp.ole32.dll_CoUnmarshalInterface]
mov dword [ebp - 0x8dc], eax
cmp dword [ebp - 0x8dc], 0
jge 0x45b1f9
push 0x4e5f
mov eax, dword [ebp - 0x28f4]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x8dc]
push edx
push 0x4b69c8
lea eax, [ebp - 0x948]
push eax
call fcn.0048cc64
add esp, 0x14
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18ac], esp
mov dword [ebp - 0x1998], ecx
push 0
push 0
mov ecx, dword [ebp - 0x1998]
call fcn.004236e0
lea edx, [ebp - 0x948]
push edx
call fcn.0048bc60
add esp, 4
push eax
lea eax, [ebp - 0x948]
push eax
mov ecx, dword [ebp - 0x1998]
call fcn.004241c0
mov ecx, dword [ebp - 0x1998]
mov dword [ebp - 0x2904], ecx
call fcn.00445850
add esp, 0x1c
jmp 0x45e71a
xor edx, edx
je 0x45b207
push 0x80004003
call fcn.0048b8a0
push 0
mov ecx, dword [ebp - 0x28f4]
add ecx, 8
call fcn.004695a0
jmp 0x45b23d
mov dword [ebp - 4], 0xffffffff
xor ecx, ecx
je 0x45b252
push 0x80004003
call fcn.0048b8a0
mov edx, dword [ebp - 0x28f4]
xor eax, eax
cmp dword [edx + 4], 0
sete al
movzx ecx, al
test ecx, ecx
je 0x45b26d
jmp 0x45e71a
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x14]
call fcn.00464e80
mov dword [ebp - 4], 2
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45b294
mov dword [0x4b6678], 0x4e71
jmp 0x45b2a1
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4e73
cmp dword [ebp - 0x14], 0
je 0x45b2b4
mov edx, dword [ebp - 0x14]
mov eax, dword [edx]
mov dword [ebp - 0x2908], eax
jmp 0x45b2be
mov dword [ebp - 0x2908], 0
mov ecx, dword [ebp - 0x2908]
push ecx
call fcn.0048c653
add esp, 4
add eax, 1
push eax
call fcn.0048a6d0
add esp, 4
mov dword [ebp - 0x18b0], eax
mov edx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18], edx
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45b2fc
mov dword [0x4b6678], 0x4e79
jmp 0x45b309
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4e7b
cmp dword [ebp - 0x14], 0
je 0x45b31c
mov edx, dword [ebp - 0x14]
mov eax, dword [edx]
mov dword [ebp - 0x290c], eax
jmp 0x45b326
mov dword [ebp - 0x290c], 0
cmp dword [ebp - 0x14], 0
je 0x45b339
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
mov dword [ebp - 0x2910], edx
jmp 0x45b343
mov dword [ebp - 0x2910], 0
mov eax, dword [ebp - 0x290c]
push eax
call fcn.0048c653
add esp, 4
push eax
mov ecx, dword [ebp - 0x2910]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.0048ef1d
add esp, 0xc
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45b37a
mov dword [0x4b6678], 0x4e80
jmp 0x45b387
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4e82
cmp dword [ebp - 0x14], 0
je 0x45b39a
mov edx, dword [ebp - 0x14]
mov eax, dword [edx]
mov dword [ebp - 0x2914], eax
jmp 0x45b3a4
mov dword [ebp - 0x2914], 0
mov ecx, dword [ebp - 0x2914]
push ecx
call fcn.0048c653
add esp, 4
mov edx, dword [ebp - 0x18]
mov byte [edx + eax], 0
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x38]
call fcn.00416a60
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18b4], ecx
mov edx, dword [ebp - 0x18b4]
push edx
call fcn.0048bd78
add esp, 4
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45b3f6
mov dword [0x4b6678], 0x4e89
jmp 0x45b403
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4e8b
push 0
push 0
lea ecx, [ebp - 0x8d0]
call fcn.004236e0
mov byte [ebp - 4], 4
push 0
push 0
lea ecx, [ebp - 0x94]
call fcn.004236e0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x19f8], edx
cmp dword [ebp - 0x19f8], 0
jne 0x45b492
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x94]
call fcn.004236e0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x8d0]
call fcn.004236e0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004236e0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x14], 0
je 0x45b48d
mov ecx, dword [ebp - 0x14]
call fcn.0044c570
mov dword [ebp - 0x14], 0
jmp 0x45e71a
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x28f4]
add eax, 4
mov dword [ebp - 0x19fc], eax
mov ecx, dword [ebp - 0x1a00]
mov dword [ebp - 0x2918], ecx
mov edx, dword [ebp - 0x19fc]
cmp dword [edx], 0
jne 0x45b4c9
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x19fc]
mov ecx, dword [eax]
mov dword [ebp - 0x2918], ecx
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x2918]
push eax
mov ecx, dword [ebp - 0x2918]
mov edx, dword [ecx]
call dword [edx + 0x94]
mov dword [ebp - 0x78], 0x800
cmp dword [ebp - 0x20], 0x10
jb 0x45b508
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x291c], eax
jmp 0x45b511
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x291c], ecx
push 0x10000000
lea edx, [ebp - 0x78]
push edx
lea eax, [ebp - 0x898]
push eax
mov ecx, dword [ebp - 0x291c]
push ecx
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlA]
push 0x3c
push 0
lea edx, [ebp - 0x74]
push edx
call fcn.0048d000
add esp, 0xc
mov dword [ebp - 0x74], 0x3c
push 0x104
call fcn.0048a6d0
add esp, 4
mov dword [ebp - 0x18b8], eax
mov eax, dword [ebp - 0x18b8]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], 0x104
lea ecx, [ebp - 0x74]
push ecx
push 0x10000000
lea edx, [ebp - 0x898]
push edx
call fcn.0048bc60
add esp, 4
push eax
lea eax, [ebp - 0x898]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
mov dword [ebp - 0x98], eax
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45b5a8
mov dword [0x4b6678], 0x4ea3
jmp 0x45b5b5
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x4ea5
mov eax, dword [ebp - 0x64]
push eax
lea ecx, [ebp - 0x8b4]
call fcn.00416a60
mov byte [ebp - 4], 6
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45b5dc
mov dword [0x4b6678], 0x4eaa
jmp 0x45b5e9
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x4eac
cmp dword [0x4b8384], 0
je 0x45b6e5
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x18bc], esp
mov dword [ebp - 0x1a14], eax
push 0
push 0
mov ecx, dword [ebp - 0x1a14]
call fcn.004236e0
mov ecx, dword [0x4a2ac8]
push ecx
push 0
lea edx, [ebp - 0x8b4]
push edx
mov ecx, dword [ebp - 0x1a14]
call fcn.00423530
mov eax, dword [ebp - 0x1a14]
mov dword [ebp - 0x2920], eax
mov ecx, dword [0x4b8384]
mov edx, dword [ecx]
mov ecx, dword [0x4b8384]
call dword [edx + 0x38]
mov byte [ebp - 0x2921], al
movzx eax, byte [ebp - 0x2921]
test eax, eax
je 0x45b6e5
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x18c0], ecx
mov edx, dword [ebp - 0x18c0]
push edx
call fcn.0048bd78
add esp, 4
mov byte [ebp - 4], 5
push 0
push 1
lea ecx, [ebp - 0x8b4]
call fcn.004236e0
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x94]
call fcn.004236e0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x8d0]
call fcn.004236e0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004236e0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x14], 0
je 0x45b6e0
mov ecx, dword [ebp - 0x14]
call fcn.0044c570
mov dword [ebp - 0x14], 0
jmp 0x45e71a
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18c4], eax
mov ecx, dword [ebp - 0x18c4]
push ecx
call fcn.0048bd78
add esp, 4
mov edx, dword [ebp - 0x28f4]
cmp dword [edx + 0x50], 0
jne 0x45e559
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4b84e0
call fcn.00423530
cmp dword [0x4b8384], 0
je 0x45b9df
push 0x3e8
mov ecx, dword [0x4b842c]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x45b9df
mov dword [ebp - 0x984], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x980]
call fcn.00435170
mov byte [ebp - 4], 8
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x984]
call fcn.004695a0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x980]
call fcn.00423530
lea ecx, [ebp - 0x984]
push ecx
push 2
mov edx, dword [0x4b8384]
mov eax, dword [edx]
mov ecx, dword [0x4b8384]
call dword [eax + 0x34]
mov byte [ebp - 0x985], al
movzx ecx, byte [ebp - 0x985]
test ecx, ecx
je 0x45b9d0
push 0xffffffffffffffff
mov edx, dword [0x4b8470]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0
lea ecx, [ebp - 0x9a0]
call fcn.0044a280
mov byte [ebp - 4], 9
lea eax, [ebp - 0x9a0]
push eax
mov ecx, dword [0x4b8384]
mov edx, dword [ecx]
mov ecx, dword [0x4b8384]
call dword [edx + 0x40]
mov eax, dword [ebp - 0x99c]
mov dword [ebp - 0x1a24], eax
mov ecx, dword [ebp - 0x1a24]
mov dword [ebp - 0x9a4], ecx
jmp 0x45b830
mov edx, dword [ebp - 0x9a4]
mov dword [ebp - 0x1a28], edx
mov eax, dword [ebp - 0x9a4]
add eax, 0x58
mov dword [ebp - 0x9a4], eax
mov ecx, dword [ebp - 0x1a28]
mov dword [ebp - 0x18c8], ecx
mov edx, dword [ebp - 0x998]
mov dword [ebp - 0x1a2c], edx
mov eax, dword [ebp - 0x1a2c]
mov dword [ebp - 0x18cc], eax
mov ecx, dword [ebp - 0x9a4]
sub ecx, dword [ebp - 0x18cc]
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, cl
neg edx
sbb edx, edx
inc edx
movzx eax, dl
test eax, eax
je 0x45b95a
mov ecx, dword [ebp - 0x9a4]
movzx edx, byte [ecx]
test edx, edx
je 0x45b87b
jmp 0x45b809
lea ecx, [ebp - 0xa28]
call fcn.004478e0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x9a4]
add eax, 4
mov dword [ebp - 0x1a30], eax
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x1a30]
push ecx
lea ecx, [ebp - 0xa28]
call fcn.00423530
mov edx, dword [ebp - 0x9a4]
add edx, 0x3c
mov dword [ebp - 0x1a34], edx
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x1a34]
push eax
lea ecx, [ebp - 0x9f0]
call fcn.00423530
mov ecx, dword [ebp - 0x9a4]
add ecx, 0x20
mov dword [ebp - 0x1a38], ecx
push 0xffffffffffffffff
push 0
mov edx, dword [ebp - 0x1a38]
push edx
lea ecx, [ebp - 0x9d4]
call fcn.00423530
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xa0c]
call fcn.00423530
mov ecx, dword [0x4b5368]
mov dword [ebp - 0x18d0], ecx
mov edx, dword [0x4b5368]
add edx, 1
mov dword [0x4b5368], edx
lea eax, [ebp - 0xa28]
push eax
lea ecx, [ebp - 0x18d0]
push ecx
mov ecx, 0x4b8464
call fcn.004491b0
mov ecx, eax
call fcn.004479b0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa28]
call fcn.0043f8f0
jmp 0x45b809
call fcn.0046b270
mov edx, dword [0x4b8470]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [ebp - 0x990], 0
mov dword [ebp - 0x98c], 0
lea eax, [ebp - 0x98c]
push eax
lea ecx, [ebp - 0x990]
push ecx
mov edx, dword [0x4b8384]
mov eax, dword [edx]
mov ecx, dword [0x4b8384]
call dword [eax + 0x14]
movzx ecx, al
test ecx, ecx
je 0x45b9c1
mov edx, dword [ebp - 0x98c]
push edx
mov eax, dword [ebp - 0x990]
push eax
push 6
mov ecx, dword [0x4b8388]
call fcn.0042ff60
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x9a0]
call fcn.0044a320
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x984]
call fcn.0045e7e0
lea ecx, [ebp - 0x950]
push ecx
call fcn.0048ea23
add esp, 4
mov edx, dword [ebp - 0x950]
sub edx, dword [0x4b88b8]
mov eax, dword [ebp - 0x94c]
sbb eax, dword [0x4b88bc]
mov dword [ebp - 0x292c], edx
mov dword [ebp - 0x2928], eax
mov ecx, dword [ebp - 0x2928]
cmp ecx, dword [0x4b5384]
jg 0x45bac0
jl 0x45ba38
mov edx, dword [ebp - 0x292c]
cmp edx, dword [0x4b5380]
jae 0x45bac0
mov eax, dword [ebp - 0x94c]
cmp eax, dword [0x4b88bc]
jl 0x45bac0
jg 0x45ba56
mov ecx, dword [ebp - 0x950]
cmp ecx, dword [0x4b88b8]
jbe 0x45bac0
mov byte [ebp - 4], 5
push 0
push 1
lea ecx, [ebp - 0x8b4]
call fcn.004236e0
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x94]
call fcn.004236e0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x8d0]
call fcn.004236e0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004236e0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x14], 0
je 0x45babb
mov ecx, dword [ebp - 0x14]
call fcn.0044c570
mov dword [ebp - 0x14], 0
jmp 0x45e71a
mov byte [ebp - 0x951], 0
lea edx, [ebp - 0x960]
push edx
call fcn.0048ea23
add esp, 4
lea eax, [ebp - 0x960]
push eax
call fcn.0048dbb8
add esp, 4
mov dword [ebp - 0x958], eax
mov ecx, dword [ebp - 0x958]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x964], edx
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45bb0e
mov dword [0x4b6678], 0x4eee
jmp 0x45bb1b
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4ef0
cmp dword [0x4b83c0], 0
je 0x45bb7f
mov edx, dword [0x4b83c0]
add edx, 0x40
push edx
call fcn.0048dbb8
add esp, 4
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa2c]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [ebp - 0x964]
je 0x45bb65
mov edx, dword [0x4b83c0]
mov dword [edx + 0x30], 0
mov ecx, dword [0x4b83c0]
call fcn.0044dfc0
mov eax, dword [0x4b83c0]
mov ecx, dword [0x4b83c0]
mov edx, dword [eax + 0x30]
cmp edx, dword [ecx + 0x2c]
jge 0x45bb7f
mov byte [ebp - 0x951], 1
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45bb93
mov dword [0x4b6678], 0x4f01
jmp 0x45bba0
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4f03
cmp dword [0x4b8384], 0
je 0x45e554
movzx edx, byte [ebp - 0x951]
test edx, edx
je 0x45e554
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45bbd0
mov dword [0x4b6678], 0x4f08
jmp 0x45bbdd
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4f0a
push 0
push 0
lea ecx, [ebp - 0xa48]
call fcn.004236e0
mov edx, dword [0x4a2ac8]
push edx
push 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xa48]
call fcn.00423530
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x20], 0x10
jb 0x45bc19
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1b70], ecx
jmp 0x45bc22
lea edx, [ebp - 0x34]
mov dword [ebp - 0x1b70], edx
mov eax, dword [ebp - 0x1b70]
mov dword [ebp - 0x18d4], eax
cmp dword [ebp - 0x20], 0x10
jb 0x45bc3f
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x2930], ecx
jmp 0x45bc48
lea edx, [ebp - 0x34]
mov dword [ebp - 0x2930], edx
mov eax, dword [ebp - 0x2930]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x1b74], eax
mov ecx, dword [ebp - 0x1b74]
mov dword [ebp - 0x18d8], ecx
cmp dword [ebp - 0x20], 0x10
jb 0x45bc74
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x1b78], edx
jmp 0x45bc7d
lea eax, [ebp - 0x34]
mov dword [ebp - 0x1b78], eax
mov ecx, dword [ebp - 0x1b78]
mov dword [ebp - 0x18dc], ecx
mov edx, dword [ebp - 0x18d4]
mov dword [ebp - 0x1b80], edx
mov eax, dword [ebp - 0x18d8]
mov dword [ebp - 0x1b84], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1b88], ecx
jmp 0x45bccd
mov edx, dword [ebp - 0x1b88]
add edx, 1
mov dword [ebp - 0x1b88], edx
mov eax, dword [ebp - 0x1b80]
add eax, 1
mov dword [ebp - 0x1b80], eax
mov ecx, dword [ebp - 0x1b88]
sub ecx, dword [ebp - 0x1b84]
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, cl
neg edx
sbb edx, edx
inc edx
movzx eax, dl
test eax, eax
je 0x45bd15
mov ecx, dword [ebp - 0x1b80]
mov dword [ebp - 0x1b7c], ecx
mov edx, dword [ebp - 0x1b88]
movsx eax, byte [edx]
push eax
call fcn.0048c48e
add esp, 4
mov ecx, dword [ebp - 0x1b7c]
mov byte [ecx], al
jmp 0x45bcaf
mov edx, dword [ebp - 0x1b80]
mov dword [ebp - 0x18e0], edx
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45bd35
mov dword [0x4b6678], 0x4f10
jmp 0x45bd42
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4f12
push 0x3e8
mov edx, dword [0x4b842c]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x45e545
mov eax, dword [0x4b83c0]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1ba4], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1ba0], edx
push 0
call fcn.0048ea23
add esp, 4
mov dword [ebp - 0x1b94], eax
mov dword [ebp - 0x1b90], edx
mov eax, dword [ebp - 0x1b94]
sub eax, dword [ebp - 0x1ba4]
mov ecx, dword [ebp - 0x1b90]
sbb ecx, dword [ebp - 0x1ba0]
mov dword [ebp - 0x1b9c], eax
mov dword [ebp - 0x1b98], ecx
cmp dword [ebp - 0x1b98], 0
jg 0x45bdd0
jl 0x45bdc4
cmp dword [ebp - 0x1b9c], 0
jae 0x45bdd0
mov dword [ebp - 0x1ba8], 0
jmp 0x45be13
push 0
push 0x3e8
mov edx, dword [ebp - 0x1b98]
push edx
mov eax, dword [ebp - 0x1b9c]
push eax
call fcn.0048ef50
mov dword [ebp - 0x1b8c], eax
cmp dword [ebp - 0x1b8c], 0
jbe 0x45be05
mov dword [ebp - 0x1ba8], 0
jmp 0x45be13
xor ecx, ecx
sub ecx, dword [ebp - 0x1b8c]
mov dword [ebp - 0x1ba8], ecx
cmp dword [ebp - 0x1ba8], 0
jne 0x45e539
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45be34
mov dword [0x4b6678], 0x4f1a
jmp 0x45be41
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x4f1c
push str.shdoclc.dll
call fcn.0048bc60
add esp, 4
push eax
push 0
push str.shdoclc.dll
lea ecx, [ebp - 0x38]
call fcn.00419a90
cmp eax, 0xffffffff
je 0x45bf19
mov ecx, dword [ebp - 0x28f4]
add ecx, 0x94
push ecx
mov edx, dword [ebp - 0x28f4]
add edx, 0x78
push edx
push 0
mov eax, dword [0x4b8384]
mov edx, dword [eax]
mov ecx, dword [0x4b8384]
call dword [edx + 0x24]
mov eax, dword [0x4b842c]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [ebp - 4], 6
push 0
push 1
lea ecx, [ebp - 0xa48]
call fcn.004236e0
mov byte [ebp - 4], 5
push 0
push 1
lea ecx, [ebp - 0x8b4]
call fcn.004236e0
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x94]
call fcn.004236e0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x8d0]
call fcn.004236e0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004236e0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x14], 0
je 0x45bf14
mov ecx, dword [ebp - 0x14]
call fcn.0044c570
mov dword [ebp - 0x14], 0
jmp 0x45e71a
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x28f4]
add ecx, 0x2c
call fcn.00423530
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45bf43
mov dword [0x4b6678], 0x4f28
jmp 0x45bf50
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x4f2a
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0045e730
add esp, 4
mov dword [ebp - 0xa54], eax
cmp dword [ebp - 0xa54], 0
je 0x45c037
push 0x4a38d8
mov edx, dword [ebp - 0xa54]
push edx
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
je 0x45bfa1
mov eax, dword [ebp - 0x28f4]
mov byte [eax + 0x58], 0
push 0x4a38d8
mov ecx, dword [ebp - 0xa54]
push ecx
call dword [sym.imp.USER32.dll_RemovePropA]
push 0x4a38cc
mov edx, dword [ebp - 0xa54]
push edx
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
je 0x45bfd3
mov eax, dword [ebp - 0x28f4]
mov byte [eax + 0x58], 0
push 0x4a38cc
mov ecx, dword [ebp - 0xa54]
push ecx
call dword [sym.imp.USER32.dll_RemovePropA]
push 0x4a38c0
mov edx, dword [ebp - 0xa54]
push edx
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
je 0x45c005
mov eax, dword [ebp - 0x28f4]
mov byte [eax + 0x17], 1
push 0x4a38c0
mov ecx, dword [ebp - 0xa54]
push ecx
call dword [sym.imp.USER32.dll_RemovePropA]
push 0x4a38b0
mov edx, dword [ebp - 0xa54]
push edx
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
je 0x45c037
mov eax, dword [ebp - 0x28f4]
mov byte [eax + 0x17], 1
push 0x4a38b0
mov ecx, dword [ebp - 0xa54]
push ecx
call dword [sym.imp.USER32.dll_RemovePropA]
lea ecx, [ebp - 0xbfc]
call fcn.0040a280
mov byte [ebp - 4], 0xc
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45c05a
mov dword [0x4b6678], 0x4f4e
jmp 0x45c067
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x4f50
mov ecx, dword [ebp - 0x28f4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xa50], edx
mov eax, dword [ebp - 0x28f4]
mov cl, byte [eax + 0x58]
mov byte [ebp - 0xa4c], cl
push 0x3c
push 0
lea edx, [ebp - 0xaa8]
push edx
call fcn.0048d000
add esp, 0xc
mov dword [ebp - 0xaa8], 0x3c
push 0x104
call fcn.0048a6d0
add esp, 4
mov dword [ebp - 0x18e4], eax
mov eax, dword [ebp - 0x18e4]
mov dword [ebp - 0xa98], eax
mov dword [ebp - 0xa94], 0x104
mov dword [ebp - 0xa6c], 0x104
cmp dword [ebp - 0x20], 0x10
jb 0x45c0e6
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x2934], ecx
jmp 0x45c0ef
lea edx, [ebp - 0x34]
mov dword [ebp - 0x2934], edx
push 0x10000000
lea eax, [ebp - 0xa6c]
push eax
lea ecx, [ebp - 0xbb8]
push ecx
mov edx, dword [ebp - 0x2934]
push edx
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlA]
lea eax, [ebp - 0xaa8]
push eax
push 0x10000000
lea ecx, [ebp - 0xbb8]
push ecx
call fcn.0048bc60
add esp, 4
push eax
lea edx, [ebp - 0xbb8]
push edx
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45c14c
mov dword [0x4b6678], 0x4f62
jmp 0x45c159
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4f64
mov byte [ebp - 0x951], 1
mov edx, dword [ebp - 0x28f4]
movzx eax, byte [edx + 0x58]
test eax, eax
je 0x45c1ca
mov ecx, dword [ebp - 0x28f4]
add ecx, 0x5c
mov dword [ebp - 0x1bd0], ecx
mov edx, dword [ebp - 0xa98]
mov dword [ebp - 0x1bd4], edx
mov eax, dword [ebp - 0x1bd4]
push eax
call fcn.0048bc60
add esp, 4
push eax
mov ecx, dword [ebp - 0x1bd4]
push ecx
mov edx, dword [ebp - 0x1bd0]
mov eax, dword [edx + 0x14]
push eax
push 0
mov ecx, dword [ebp - 0x1bd0]
call fcn.00419cd0
neg eax
sbb eax, eax
inc eax
movzx ecx, al
test ecx, ecx
je 0x45c1ca
mov byte [ebp - 0x951], 0
mov edx, dword [ebp - 0x28f4]
movzx eax, byte [edx + 0x17]
test eax, eax
je 0x45c1e9
mov ecx, dword [ebp - 0x28f4]
mov byte [ecx + 0x17], 0
mov byte [ebp - 0x951], 0
cmp dword [ebp - 0xa9c], 5
je 0x45c204
cmp dword [ebp - 0xa9c], 6
je 0x45c204
cmp dword [ebp - 0xa9c], 7
jne 0x45c20b
mov byte [ebp - 0x951], 0
push 0x4b6684
lea ecx, [ebp - 0xbc0]
call fcn.00464dd0
mov byte [ebp - 4], 0xd
mov edx, 2
cmp edx, 2
je 0x45c23f
mov eax, 2
cmp eax, 0xb
je 0x45c23f
push 0x80070057
call fcn.0048b8a0
jmp 0x45c273
mov ecx, 2
cmp ecx, 0xb
jne 0x45c261
mov word [ebp - 0xa68], 0xb
xor edx, edx
neg edx
sbb edx, edx
mov word [ebp - 0xa60], dx
jmp 0x45c273
mov word [ebp - 0xa68], 2
mov word [ebp - 0xa60], 0
mov byte [ebp - 4], 0xe
push ecx
mov eax, esp
mov dword [ebp - 0x18e8], esp
mov dword [ebp - 0x1be4], eax
mov ecx, dword [ebp - 0x1be4]
mov edx, dword [ebp - 0xbc0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1be4]
cmp dword [eax], 0
je 0x45c2bd
mov ecx, dword [ebp - 0x1be4]
mov edx, dword [ecx]
mov dword [ebp - 0x1be0], edx
mov eax, dword [ebp - 0x1be0]
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov ecx, dword [ebp - 0x1be4]
mov dword [ebp - 0x2938], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x28f4]
add edx, 4
mov dword [ebp - 0x1be8], edx
mov eax, dword [ebp - 0x1be8]
cmp dword [eax], 0
jne 0x45c2f1
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x1be8]
mov edx, dword [ecx]
mov dword [ebp - 0x1bec], edx
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x18f8]
push eax
mov ecx, dword [ebp - 0x1bec]
call fcn.004689c0
mov dword [ebp - 0x293c], eax
mov ecx, dword [ebp - 0x293c]
mov dword [ebp - 0x1bf4], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x1bf4]
push edx
lea eax, [ebp - 0xa68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
mov dword [ebp - 0x1bf0], eax
cmp dword [ebp - 0x1bf0], 0
jge 0x45c35a
mov ecx, dword [ebp - 0x1bf0]
push ecx
call fcn.0048b8a0
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x18f8]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x1bf8], eax
cmp dword [ebp - 0x1bf8], 0
jge 0x45c386
mov eax, dword [ebp - 0x1bf8]
push eax
call fcn.0048b8a0
mov ecx, 2
cmp ecx, 2
je 0x45c3a6
mov edx, 2
cmp edx, 0xb
je 0x45c3a6
push 0x80070057
call fcn.0048b8a0
jmp 0x45c3db
mov eax, 2
cmp eax, 0xb
jne 0x45c3c9
mov word [ebp - 0x1910], 0xb
or ecx, 0xffffffff
neg ecx
sbb ecx, ecx
mov word [ebp - 0x1908], cx
jmp 0x45c3db
mov word [ebp - 0x1910], 2
mov word [ebp - 0x1908], 0xffff
lea edx, [ebp - 0x1910]
mov dword [ebp - 0x1bfc], edx
mov eax, dword [ebp - 0x1bfc]
push eax
lea ecx, [ebp - 0xa68]
call fcn.00467ad0
mov byte [ebp - 0x18f9], al
lea ecx, [ebp - 0x1910]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x1c00], eax
cmp dword [ebp - 0x1c00], 0
jge 0x45c427
mov edx, dword [ebp - 0x1c00]
push edx
call fcn.0048b8a0
movzx eax, byte [ebp - 0x18f9]
test eax, eax
je 0x45c439
mov byte [ebp - 0x951], 0
mov ecx, dword [ebp - 0xa98]
mov dword [ebp - 0x1914], ecx
mov edx, dword [ebp - 0x1914]
push edx
call fcn.0048bd78
add esp, 4
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45c468
mov dword [0x4b6678], 0x4f7d
jmp 0x45c475
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4f7f
movzx edx, byte [ebp - 0x951]
test edx, edx
jne 0x45c56a
mov eax, dword [0x4b842c]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xa68]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x1c04], eax
cmp dword [ebp - 0x1c04], 0
jge 0x45c4bc
mov edx, dword [ebp - 0x1c04]
push edx
call fcn.0048b8a0
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0xbc0], 0
je 0x45c4de
mov ecx, dword [ebp - 0xbc0]
call fcn.0044c570
mov dword [ebp - 0xbc0], 0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xbe0]
call fcn.0041a1e0
mov byte [ebp - 4], 6
push 0
push 1
lea ecx, [ebp - 0xa48]
call fcn.004236e0
mov byte [ebp - 4], 5
push 0
push 1
lea ecx, [ebp - 0x8b4]
call fcn.004236e0
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x94]
call fcn.004236e0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x8d0]
call fcn.004236e0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004236e0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x14], 0
je 0x45c565
mov ecx, dword [ebp - 0x14]
call fcn.0044c570
mov dword [ebp - 0x14], 0
jmp 0x45e71a
push 0xffffffffffffffff
mov eax, dword [0x4b83e0]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x4b8384], 0
je 0x45c68f
push 0
push 0
lea ecx, [ebp - 0xc18]
call fcn.004236e0
mov byte [ebp - 4], 0x11
push 0
push 0
lea ecx, [ebp - 0xc34]
call fcn.004236e0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xc34]
push ecx
lea edx, [ebp - 0xc18]
push edx
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [0x4b8384]
mov edx, dword [ecx]
mov ecx, dword [0x4b8384]
call dword [edx + 0x1c]
movzx eax, al
test eax, eax
je 0x45c669
push 0
push 0
lea ecx, [ebp - 0xc6c]
call fcn.004236e0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xc50]
call fcn.00435170
mov byte [ebp - 4], 0x14
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0xc34]
push ecx
lea ecx, [ebp - 0xc50]
call fcn.00423530
push 0xffffffffffffffff
push 0
lea edx, [ebp - 0xc18]
push edx
lea ecx, [ebp - 0xc6c]
call fcn.00423530
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xc6c]
push ecx
mov ecx, 0x4b83e4
call fcn.00462ca0
mov ecx, eax
call fcn.00417220
mov byte [ebp - 4], 0x15
push 0
push 1
lea ecx, [ebp - 0xc50]
call fcn.004236e0
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0xc6c]
call fcn.004236e0
mov byte [ebp - 4], 0x11
push 0
push 1
lea ecx, [ebp - 0xc34]
call fcn.004236e0
mov byte [ebp - 4], 0xe
push 0
push 1
lea ecx, [ebp - 0xc18]
call fcn.004236e0
mov edx, dword [0x4b83e0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea eax, [ebp - 0xa48]
push eax
mov ecx, dword [0x4b8384]
mov edx, dword [ecx]
mov ecx, dword [0x4b8384]
call dword [edx + 0x28]
mov byte [ebp - 0xbb9], al
movzx eax, byte [ebp - 0xbb9]
test eax, eax
je 0x45c6d7
movzx ecx, byte [0x4b5354]
test ecx, ecx
jne 0x45c6d7
mov byte [ebp - 0x951], 0
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45c6eb
mov dword [0x4b6678], 0x4f9d
jmp 0x45c6f8
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x4f9f
movzx ecx, byte [ebp - 0x951]
test ecx, ecx
je 0x45d582
cmp dword [ebp - 0x20], 0x10
jb 0x45c718
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x2940], edx
jmp 0x45c721
lea eax, [ebp - 0x34]
mov dword [ebp - 0x2940], eax
lea ecx, [ebp - 0xbfc]
push ecx
push 0x4b856c
push 0
lea edx, [ebp - 0x94]
push edx
lea eax, [ebp - 0x8d0]
push eax
mov ecx, dword [ebp - 0xa4c]
push ecx
mov edx, dword [ebp - 0xa50]
push edx
mov eax, dword [ebp - 0x2940]
push eax
mov ecx, dword [0x4b8384]
mov edx, dword [ecx]
mov ecx, dword [0x4b8384]
call dword [edx]
test eax, eax
jl 0x45d582
cmp dword [ebp - 0x7c], 0x10
jb 0x45c77e
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x2944], eax
jmp 0x45c78a
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x2944], ecx
push str.default
mov edx, dword [ebp - 0x2944]
push edx
call fcn.0049a8c5
add esp, 8
test eax, eax
je 0x45d582
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x8d0]
push eax
mov ecx, 0x4b8534
call fcn.00423530
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x94]
push ecx
mov ecx, 0x4b8550
call fcn.00423530
mov edx, dword [ebp - 0xbfc]
mov dword [0x4b83b8], edx
xor eax, eax
cmp dword [ebp - 0xbd0], 1
setne al
mov byte [0x4b5378], al
mov byte [0x4b5355], 1
mov ecx, dword [ebp - 0xbc8]
mov dword [0x4b5324], ecx
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45c814
mov dword [0x4b6678], 0x4fac
jmp 0x45c821
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x4fae
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
mov dword [ebp - 0x1ca8], ecx
mov edx, dword [ebp - 0x1cac]
mov dword [ebp - 0x2948], edx
mov eax, dword [ebp - 0x1ca8]
cmp dword [eax], 0
jne 0x45c851
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x1ca8]
mov edx, dword [ecx]
mov dword [ebp - 0x2948], edx
push 0x4b5358
mov eax, dword [ebp - 0x2948]
push eax
mov ecx, dword [ebp - 0x2948]
mov edx, dword [ecx]
call dword [edx + 0x54]
mov eax, dword [ebp - 0x28f4]
add eax, 4
mov dword [ebp - 0x1cb0], eax
mov ecx, dword [ebp - 0x1cb4]
mov dword [ebp - 0x294c], ecx
mov edx, dword [ebp - 0x1cb0]
cmp dword [edx], 0
jne 0x45c8a6
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x1cb0]
mov ecx, dword [eax]
mov dword [ebp - 0x294c], ecx
push 0x4b535c
mov edx, dword [ebp - 0x294c]
push edx
mov eax, dword [ebp - 0x294c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edx, dword [ebp - 0x28f4]
add edx, 4
mov dword [ebp - 0x1cb8], edx
mov eax, dword [ebp - 0x1cbc]
mov dword [ebp - 0x2950], eax
mov ecx, dword [ebp - 0x1cb8]
cmp dword [ecx], 0
jne 0x45c8fb
push 0x80004003
call fcn.0048b8a0
mov edx, dword [ebp - 0x1cb8]
mov eax, dword [edx]
mov dword [ebp - 0x2950], eax
push 0x4b5360
mov ecx, dword [ebp - 0x2950]
push ecx
mov edx, dword [ebp - 0x2950]
mov eax, dword [edx]
call dword [eax + 0x64]
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
mov dword [ebp - 0x1cc0], ecx
mov edx, dword [ebp - 0x1cc4]
mov dword [ebp - 0x2954], edx
mov eax, dword [ebp - 0x1cc0]
cmp dword [eax], 0
jne 0x45c950
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x1cc0]
mov edx, dword [ecx]
mov dword [ebp - 0x2954], edx
push 0x4b5364
mov eax, dword [ebp - 0x2954]
push eax
mov ecx, dword [ebp - 0x2954]
mov edx, dword [ecx]
call dword [edx + 0x6c]
mov eax, dword [ebp - 0x28f4]
add eax, 4
mov dword [ebp - 0x1cc8], eax
mov ecx, dword [ebp - 0x1ccc]
mov dword [ebp - 0x2958], ecx
mov edx, dword [ebp - 0x1cc8]
cmp dword [edx], 0
jne 0x45c9a5
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x1cc8]
mov ecx, dword [eax]
mov dword [ebp - 0x2958], ecx
push 0x4b83a8
mov edx, dword [ebp - 0x2958]
push edx
mov eax, dword [ebp - 0x2958]
mov ecx, dword [eax]
call dword [ecx + 0x10c]
mov edx, dword [ebp - 0x28f4]
add edx, 4
mov dword [ebp - 0x1cd0], edx
mov eax, dword [ebp - 0x1cd4]
mov dword [ebp - 0x295c], eax
mov ecx, dword [ebp - 0x1cd0]
cmp dword [ecx], 0
jne 0x45c9fd
push 0x80004003
call fcn.0048b8a0
mov edx, dword [ebp - 0x1cd0]
mov eax, dword [edx]
mov dword [ebp - 0x295c], eax
push 0x4b83ac
mov ecx, dword [ebp - 0x295c]
push ecx
mov edx, dword [ebp - 0x295c]
mov eax, dword [edx]
call dword [eax + 0xc0]
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
mov dword [ebp - 0x1cd8], ecx
mov edx, dword [ebp - 0x1cdc]
mov dword [ebp - 0x2960], edx
mov eax, dword [ebp - 0x1cd8]
cmp dword [eax], 0
jne 0x45ca55
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x1cd8]
mov edx, dword [ecx]
mov dword [ebp - 0x2960], edx
push 0x4b83b0
mov eax, dword [ebp - 0x2960]
push eax
mov ecx, dword [ebp - 0x2960]
mov edx, dword [ecx]
call dword [edx + 0xa8]
mov eax, dword [ebp - 0x28f4]
add eax, 4
mov dword [ebp - 0x1ce0], eax
mov ecx, dword [ebp - 0x1ce4]
mov dword [ebp - 0x2964], ecx
mov edx, dword [ebp - 0x1ce0]
cmp dword [edx], 0
jne 0x45caad
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x1ce0]
mov ecx, dword [eax]
mov dword [ebp - 0x2964], ecx
push 0x4b83b4
mov edx, dword [ebp - 0x2964]
push edx
mov eax, dword [ebp - 0x2964]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45cae9
mov dword [0x4b6678], 0x4fbc
jmp 0x45caf6
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x4fbe
mov dword [ebp - 0xc74], 0
mov dword [ebp - 0xc70], 0
cmp dword [0x4b8384], 0
je 0x45cb53
lea ecx, [ebp - 0xc70]
push ecx
lea edx, [ebp - 0xc74]
push edx
mov eax, dword [0x4b8384]
mov edx, dword [eax]
mov ecx, dword [0x4b8384]
call dword [edx + 0x14]
movzx eax, al
test eax, eax
je 0x45cb53
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0xc74]
push edx
push 6
mov ecx, dword [0x4b8388]
call fcn.0042ff60
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45cb67
mov dword [0x4b6678], 0x4fc8
jmp 0x45cb74
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x4fca
push 0xffffffffffffffff
mov edx, dword [0x4b84bc]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xcb8], 0
mov eax, dword [0x4b84b4]
mov dword [ebp - 0x1cf4], eax
mov ecx, dword [ebp - 0x1cf4]
mov dword [ebp - 0x191c], ecx
push 0x4b8550
lea edx, [ebp - 0x1918]
push edx
mov ecx, 0x4b84b0
call fcn.00452240
mov dword [ebp - 0x1d18], eax
mov eax, dword [ebp - 0x1d18]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x191c]
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, cl
neg edx
sbb edx, edx
inc edx
movzx eax, dl
test eax, eax
je 0x45cc0d
push 0x4b8550
mov ecx, 0x4b84b0
call fcn.00448f70
cmp dword [eax], 1
jne 0x45cc0d
push 0x4b8550
mov ecx, 0x4b84b0
call fcn.00448f70
mov dword [ebp - 0xcb8], eax
jmp 0x45cc67
lea ecx, [ebp - 0x1608]
call fcn.004490e0
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x1608], 1
lea ecx, [ebp - 0x1608]
push ecx
push 0x4b8550
mov ecx, 0x4b84b0
call fcn.00448f70
mov ecx, eax
call fcn.0044f430
push 0x4b8550
mov ecx, 0x4b84b0
call fcn.00448f70
mov dword [ebp - 0xcb8], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1608]
call fcn.00449570
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45cc7b
mov dword [0x4b6678], 0x4fdb
jmp 0x45cc88
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x4fdd
cmp dword [ebp - 0xbd0], 2
jne 0x45ce71
mov ecx, dword [ebp - 0xcb8]
mov dword [ecx], 0
mov edx, dword [ebp - 0xcb8]
add edx, 4
mov dword [ebp - 0x2058], edx
mov eax, dword [ebp - 0x2058]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0xa50]
je 0x45cd18
mov edx, dword [ebp - 0x2058]
mov eax, dword [edx]
mov dword [ebp - 0x2054], eax
mov ecx, dword [ebp - 0x2058]
mov edx, dword [ebp - 0xa50]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2058]
cmp dword [eax], 0
je 0x45ccfd
mov ecx, dword [ebp - 0x2058]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x2058]
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [ebp - 0x2054], 0
je 0x45cd18
mov eax, dword [ebp - 0x2054]
push eax
mov ecx, dword [ebp - 0x2054]
mov edx, dword [ecx]
call dword [edx + 8]
push 0x4b6684
lea ecx, [ebp - 0x161c]
call fcn.00464dd0
mov byte [ebp - 4], 0x17
mov eax, 2
cmp eax, 2
je 0x45cd4c
mov ecx, 2
cmp ecx, 0xb
je 0x45cd4c
push 0x80070057
call fcn.0048b8a0
jmp 0x45cd81
mov edx, 2
cmp edx, 0xb
jne 0x45cd6f
mov word [ebp - 0x1618], 0xb
or eax, 0xffffffff
neg eax
sbb eax, eax
mov word [ebp - 0x1610], ax
jmp 0x45cd81
mov word [ebp - 0x1618], 2
mov word [ebp - 0x1610], 0xffff
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1618]
push ecx
push ecx
mov edx, esp
mov dword [ebp - 0x1920], esp
mov dword [ebp - 0x2068], edx
mov eax, dword [ebp - 0x2068]
mov ecx, dword [ebp - 0x161c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2068]
cmp dword [edx], 0
je 0x45cdd2
mov eax, dword [ebp - 0x2068]
mov ecx, dword [eax]
mov dword [ebp - 0x2064], ecx
mov edx, dword [ebp - 0x2064]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [ebp - 0x2068]
mov dword [ebp - 0x2968], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xcb8]
add ecx, 4
mov dword [ebp - 0x206c], ecx
mov edx, dword [ebp - 0x206c]
cmp dword [edx], 0
jne 0x45ce06
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x206c]
mov ecx, dword [eax]
mov dword [ebp - 0x2070], ecx
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x2070]
call fcn.004688e0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x1618]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x208c], eax
cmp dword [ebp - 0x208c], 0
jge 0x45ce4f
mov eax, dword [ebp - 0x208c]
push eax
call fcn.0048b8a0
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x161c], 0
je 0x45ce71
mov ecx, dword [ebp - 0x161c]
call fcn.0044c570
mov dword [ebp - 0x161c], 0
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45ce85
mov dword [0x4b6678], 0x4fea
jmp 0x45ce92
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x4fec
mov byte [ebp - 0x15c0], 0
mov dword [ebp - 0xa6c], 0
mov dword [ebp - 0xc78], 0
lea eax, [ebp - 0xa6c]
push eax
lea ecx, [ebp - 0xc78]
push ecx
push 0
push 1
push 0
push 0
push 0
push 0x4b73b8
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x45cf24
mov dword [ebp - 0xa6c], 0x800
lea edx, [ebp - 0xa6c]
push edx
lea eax, [ebp - 0x15c0]
push eax
lea ecx, [ebp - 0xa6c]
push ecx
push 0
push 0x4b734c
mov edx, dword [ebp - 0xc78]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x45cf17
mov byte [ebp - 0x15c0], 0
mov eax, dword [ebp - 0xc78]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45cf38
mov dword [0x4b6678], 0x4ffd
jmp 0x45cf45
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x4fff
lea eax, [ebp - 0x15c0]
push eax
call fcn.0048bc60
add esp, 4
test eax, eax
je 0x45d133
cmp dword [ebp - 0x20], 0x10
jb 0x45cf6d
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x296c], ecx
jmp 0x45cf76
lea edx, [ebp - 0x34]
mov dword [ebp - 0x296c], edx
mov eax, dword [ebp - 0x296c]
push eax
lea ecx, [ebp - 0x15c0]
push ecx
call fcn.0048c340
add esp, 8
test eax, eax
jne 0x45cfc8
cmp dword [ebp - 0x20], 0x10
jb 0x45cfa1
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x2970], edx
jmp 0x45cfaa
lea eax, [ebp - 0x34]
mov dword [ebp - 0x2970], eax
lea ecx, [ebp - 0x15c0]
push ecx
mov edx, dword [ebp - 0x2970]
push edx
call fcn.0048c340
add esp, 8
test eax, eax
je 0x45d133
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45cfdc
mov dword [0x4b6678], 0x5005
jmp 0x45cfe9
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x5007
push 0
push 0
lea ecx, [ebp - 0x167c]
call fcn.004236e0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x1660]
call fcn.00435170
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0xbd0]
mov dword [ebp - 0x1644], edx
push 0xffffffffffffffff
push 0
push 0x4b8550
lea ecx, [ebp - 0x1660]
call fcn.00423530
push 0xffffffffffffffff
push 0
push 0x4b8534
lea ecx, [ebp - 0x167c]
call fcn.00423530
lea eax, [ebp - 0x167c]
push eax
mov ecx, 0x4b84c0
call fcn.00462f40
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45d064
mov dword [0x4b6678], 0x5010
jmp 0x45d071
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x5012
mov dword [ebp - 0x1630], 0x989680
mov dword [ebp - 0x162c], 0
push 0
push 0x12c
mov eax, dword [ebp - 0x162c]
push eax
mov ecx, dword [ebp - 0x1630]
push ecx
call fcn.0048ef50
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x1640], eax
mov dword [ebp - 0x163c], edx
mov edx, dword [ebp - 0x1640]
mov dword [ebp - 0x1628], edx
mov eax, dword [ebp - 0x163c]
mov dword [ebp - 0x1624], eax
push 0x4b7a50
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
mov dword [ebp - 0x1634], eax
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x1628]
push ecx
mov edx, dword [ebp - 0x1634]
push edx
call dword [sym.imp.KERNEL32.dll_SetWaitableTimer]
mov eax, dword [ebp - 0x1634]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 0x1c
push 0
push 1
lea ecx, [ebp - 0x1660]
call fcn.004236e0
mov byte [ebp - 4], 0xe
push 0
push 1
lea ecx, [ebp - 0x167c]
call fcn.004236e0
jmp 0x45d35e
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45d147
mov dword [0x4b6678], 0x5021
jmp 0x45d154
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x5023
mov eax, dword [0x4b5368]
mov dword [ebp - 0x1680], eax
mov dword [ebp - 0x1684], 0
cmp dword [ebp - 0xbd0], 2
je 0x45d262
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45d18a
mov dword [0x4b6678], 0x502a
jmp 0x45d197
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x502c
push 0x4b5368
mov ecx, 0x4b8464
call fcn.004491b0
add eax, 0x70
push eax
mov eax, dword [ebp + 8]
push eax
push 0x4a3114
call dword [sym.imp.ole32.dll_CoMarshalInterThreadInterfaceInStream]
mov dword [ebp - 0x1684], eax
cmp dword [ebp - 0x1684], 0
jge 0x45d24c
push 0x5031
mov ecx, dword [ebp - 0x28f4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x1684]
push eax
push 0x4b6ad0
lea ecx, [ebp - 0x16f0]
push ecx
call fcn.0048cc64
add esp, 0x14
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1924], esp
mov dword [ebp - 0x21c4], edx
push 0
push 0
mov ecx, dword [ebp - 0x21c4]
call fcn.004236e0
lea eax, [ebp - 0x16f0]
push eax
call fcn.0048bc60
add esp, 4
push eax
lea ecx, [ebp - 0x16f0]
push ecx
mov ecx, dword [ebp - 0x21c4]
call fcn.004241c0
mov edx, dword [ebp - 0x21c4]
mov dword [ebp - 0x2974], edx
call fcn.00445850
add esp, 0x1c
push 0x4b5368
mov ecx, 0x4b8464
call fcn.004491b0
mov dword [eax + 0x70], 0
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45d276
mov dword [0x4b6678], 0x5038
jmp 0x45d283
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x503a
push 0x4b88b8
call fcn.0048ea23
add esp, 4
mov edx, dword [ebp - 0x28f4]
add edx, 0x48
push edx
push 0
mov eax, dword [ebp - 0xbd0]
push eax
mov ecx, dword [ebp - 0xcb8]
push ecx
call fcn.00447a40
add esp, 0x10
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45d2c6
mov dword [0x4b6678], 0x5040
jmp 0x45d2d3
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x5042
push 0xffffffffffffffff
mov ecx, dword [0x4b84bc]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [0x4b84c8]
mov dword [ebp - 0x2320], edx
mov eax, dword [ebp - 0x2320]
mov dword [ebp - 0x1928], eax
mov ecx, dword [0x4b84c4]
mov dword [ebp - 0x2324], ecx
mov edx, dword [ebp - 0x2324]
mov dword [ebp - 0x192c], edx
mov eax, dword [ebp - 0x1928]
push eax
mov ecx, dword [ebp - 0x192c]
push ecx
lea edx, [ebp - 0x1930]
push edx
mov ecx, 0x4b84c0
call fcn.004522e0
mov eax, dword [0x4b84bc]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45d351
mov dword [0x4b6678], 0x504c
jmp 0x45d35e
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x504e
mov eax, dword [0x4b84bc]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0xffffffffffffffff
mov ecx, dword [0x4b83f0]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x4b83f8], 0
jne 0x45d38e
mov dword [ebp - 0x2978], 0
jmp 0x45d3a7
mov eax, dword [0x4b83fc]
sub eax, dword [0x4b83f8]
cdq
mov ecx, 0x18
idiv ecx
mov dword [ebp - 0x2978], eax
cmp dword [ebp - 0x2978], 0
je 0x45d434
cmp dword [0x4b83f8], 0
jne 0x45d3c9
mov dword [ebp - 0x297c], 0
jmp 0x45d3e2
mov eax, dword [0x4b83fc]
sub eax, dword [0x4b83f8]
cdq
mov ecx, 0x18
idiv ecx
mov dword [ebp - 0x297c], eax
mov edx, dword [0x4b83f8]
mov dword [ebp - 0x235c], edx
mov eax, dword [ebp - 0x235c]
mov dword [ebp - 0x2354], eax
mov ecx, dword [ebp - 0x2354]
mov dword [ebp - 0x2360], ecx
mov edx, dword [ebp - 0x297c]
sub edx, 1
imul edx, edx, 0x18
add edx, dword [ebp - 0x2360]
mov dword [ebp - 0x2360], edx
mov eax, dword [ebp - 0x2360]
mov dword [ebp - 0x2358], eax
mov ecx, dword [ebp - 0x2358]
mov byte [ecx + 0x10], 1
mov edx, dword [0x4b83f0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45d455
mov dword [0x4b6678], 0x5058
jmp 0x45d462
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x505a
push 0x3c
push 0
lea edx, [ebp - 0xcb4]
push edx
call fcn.0048d000
add esp, 0xc
mov dword [ebp - 0xcb4], 0x3c
push 0x104
call fcn.0048a6d0
add esp, 4
mov dword [ebp - 0x1934], eax
mov eax, dword [ebp - 0x1934]
mov dword [ebp - 0xca4], eax
mov dword [ebp - 0xca0], 0x104
mov dword [ebp - 0xa6c], 0x104
cmp dword [ebp - 0x20], 0x10
jb 0x45d4c3
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x2980], ecx
jmp 0x45d4cc
lea edx, [ebp - 0x34]
mov dword [ebp - 0x2980], edx
push 0x10000000
lea eax, [ebp - 0xa6c]
push eax
lea ecx, [ebp - 0xdc0]
push ecx
mov edx, dword [ebp - 0x2980]
push edx
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlA]
lea eax, [ebp - 0xcb4]
push eax
push 0x10000000
lea ecx, [ebp - 0xdc0]
push ecx
call fcn.0048bc60
add esp, 4
push eax
lea edx, [ebp - 0xdc0]
push edx
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
mov eax, dword [ebp - 0xca4]
mov dword [ebp - 0x2364], eax
mov ecx, dword [ebp - 0x2364]
push ecx
call fcn.0048bc60
add esp, 4
push eax
mov edx, dword [ebp - 0x2364]
push edx
mov ecx, dword [ebp - 0x28f4]
add ecx, 0x5c
call fcn.004241c0
mov eax, dword [ebp - 0xca4]
mov dword [ebp - 0x1938], eax
mov ecx, dword [ebp - 0x1938]
push ecx
call fcn.0048bd78
add esp, 4
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45d575
mov dword [0x4b6678], 0x506b
jmp 0x45d582
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x506d
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45d596
mov dword [0x4b6678], 0x5071
jmp 0x45d5a3
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x5073
mov byte [ebp - 0xaa9], 0
push 0xffffffffffffffff
mov eax, dword [0x4b83f0]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x4b83f8], 0
jne 0x45d5cd
mov dword [ebp - 0x2984], 0
jmp 0x45d5e6
mov eax, dword [0x4b83fc]
sub eax, dword [0x4b83f8]
cdq
mov ecx, 0x18
idiv ecx
mov dword [ebp - 0x2984], eax
cmp dword [ebp - 0x2984], 0
je 0x45d86f
mov dword [ebp - 0x1700], 0
mov dword [ebp - 0x16f8], 0
lea edx, [ebp - 0x1708]
push edx
call fcn.0048ea23
add esp, 4
lea eax, [ebp - 0x1708]
push eax
call fcn.0048dbb8
add esp, 4
mov dword [ebp - 0x16f4], eax
mov ecx, dword [ebp - 0x16f4]
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 0x16f8], edx
mov byte [ebp - 0x16f9], 1
mov eax, dword [0x4b83c0]
mov dword [ebp - 0x2988], eax
mov ecx, dword [ebp - 0x2988]
mov edx, dword [ebp - 0x2988]
mov eax, dword [ecx + 0x40]
or eax, dword [edx + 0x44]
je 0x45d697
mov byte [ebp - 0x16f9], 0
mov ecx, dword [0x4b83c0]
add ecx, 0x40
push ecx
call fcn.0048dbb8
add esp, 4
mov dword [ebp - 0x170c], eax
mov edx, dword [ebp - 0x170c]
mov eax, dword [edx + 0x1c]
cmp eax, dword [ebp - 0x16f8]
je 0x45d697
mov byte [ebp - 0x16f9], 1
mov ecx, dword [0x4b83a0]
or ecx, dword [0x4b83a4]
je 0x45d6ee
movzx edx, byte [ebp - 0x16f9]
test edx, edx
je 0x45d6ee
mov byte [ebp - 0x16f9], 0
push 0x4b83a0
call fcn.0048dbb8
add esp, 4
mov dword [ebp - 0x1710], eax
mov eax, dword [ebp - 0x1710]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1700], ecx
mov edx, dword [ebp - 0x16f8]
cmp edx, dword [ebp - 0x1700]
je 0x45d6ee
mov byte [ebp - 0x16f9], 1
movzx eax, byte [ebp - 0x16f9]
test eax, eax
je 0x45d86f
lea ecx, [ebp - 0x1718]
push ecx
call fcn.0048ea23
add esp, 4
cmp dword [0x4b83f8], 0
jne 0x45d721
mov dword [ebp - 0x298c], 0
jmp 0x45d73a
mov eax, dword [0x4b83fc]
sub eax, dword [0x4b83f8]
cdq
mov ecx, 0x18
idiv ecx
mov dword [ebp - 0x298c], eax
mov edx, dword [0x4b83f8]
mov dword [ebp - 0x2370], edx
mov eax, dword [ebp - 0x2370]
mov dword [ebp - 0x2368], eax
mov ecx, dword [ebp - 0x2368]
mov dword [ebp - 0x2374], ecx
mov edx, dword [ebp - 0x298c]
sub edx, 1
imul edx, edx, 0x18
add edx, dword [ebp - 0x2374]
mov dword [ebp - 0x2374], edx
mov eax, dword [ebp - 0x2374]
mov dword [ebp - 0x236c], eax
mov ecx, dword [ebp - 0x236c]
mov edx, dword [0x4b8410]
add edx, dword [ecx]
mov eax, dword [0x4b8414]
adc eax, dword [ecx + 4]
add edx, dword [0x4b5370]
adc eax, dword [0x4b5374]
mov dword [ebp - 0x2994], edx
mov dword [ebp - 0x2990], eax
mov ecx, dword [ebp - 0x1714]
cmp ecx, dword [ebp - 0x2990]
jl 0x45d86f
jg 0x45d7d6
mov edx, dword [ebp - 0x1718]
cmp edx, dword [ebp - 0x2994]
jbe 0x45d86f
mov byte [ebp - 0xaa9], 1
cmp dword [0x4b83f8], 0
jne 0x45d7f2
mov dword [ebp - 0x2998], 0
jmp 0x45d80b
mov eax, dword [0x4b83fc]
sub eax, dword [0x4b83f8]
cdq
mov ecx, 0x18
idiv ecx
mov dword [ebp - 0x2998], eax
mov edx, dword [0x4b83f8]
mov dword [ebp - 0x2380], edx
mov eax, dword [ebp - 0x2380]
mov dword [ebp - 0x2378], eax
mov ecx, dword [ebp - 0x2378]
mov dword [ebp - 0x2384], ecx
mov edx, dword [ebp - 0x2998]
sub edx, 1
imul edx, edx, 0x18
add edx, dword [ebp - 0x2384]
mov dword [ebp - 0x2384], edx
mov eax, dword [ebp - 0x2384]
mov dword [ebp - 0x237c], eax
mov ecx, dword [ebp - 0x237c]
mov byte [ecx + 0x10], 1
push 0x4b83a0
call fcn.0048ea23
add esp, 4
call fcn.0046d230
mov edx, dword [0x4b83f0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45d890
mov dword [0x4b6678], 0x50a3
jmp 0x45d89d
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x50a5
movzx edx, byte [ebp - 0xaa9]
test edx, edx
je 0x45e39c
push 0
push 0
lea ecx, [ebp - 0x1750]
call fcn.004236e0
mov byte [ebp - 4], 0x1d
push 0
push 0
lea ecx, [ebp - 0x1734]
call fcn.004236e0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x178c]
call fcn.0040a280
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x178c]
push eax
lea ecx, [ebp - 0x1734]
push ecx
lea edx, [ebp - 0x1750]
push edx
mov eax, dword [0x4b8384]
mov edx, dword [eax]
mov ecx, dword [0x4b8384]
call dword [edx + 0x30]
movzx eax, al
test eax, eax
je 0x45e36f
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45d925
mov dword [0x4b6678], 0x50af
jmp 0x45d932
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x50b1
push 0x4b6684
lea ecx, [ebp - 0x17b8]
call fcn.00464dd0
mov byte [ebp - 4], 0x20
cmp dword [ebp - 0x1738], 0x10
jb 0x45d95d
mov eax, dword [ebp - 0x174c]
mov dword [ebp - 0x299c], eax
jmp 0x45d969
lea ecx, [ebp - 0x174c]
mov dword [ebp - 0x299c], ecx
mov edx, dword [ebp - 0x299c]
push edx
lea ecx, [ebp - 0x1798]
call fcn.00464dd0
mov byte [ebp - 4], 0x21
mov eax, 2
cmp eax, 2
je 0x45d99f
mov ecx, 2
cmp ecx, 0xb
je 0x45d99f
push 0x80070057
call fcn.0048b8a0
jmp 0x45d9d4
mov edx, 2
cmp edx, 0xb
jne 0x45d9c2
mov word [ebp - 0x17a8], 0xb
or eax, 0xffffffff
neg eax
sbb eax, eax
mov word [ebp - 0x17a0], ax
jmp 0x45d9d4
mov word [ebp - 0x17a8], 2
mov word [ebp - 0x17a0], 0xffff
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x17a8]
push ecx
push ecx
mov edx, esp
mov dword [ebp - 0x193c], esp
mov dword [ebp - 0x23cc], edx
mov eax, dword [ebp - 0x23cc]
mov ecx, dword [ebp - 0x17b8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x23cc]
cmp dword [edx], 0
je 0x45da25
mov eax, dword [ebp - 0x23cc]
mov ecx, dword [eax]
mov dword [ebp - 0x23c8], ecx
mov edx, dword [ebp - 0x23c8]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [ebp - 0x23cc]
mov dword [ebp - 0x29a0], eax
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
mov dword [ebp - 0x23d0], ecx
mov edx, dword [ebp - 0x23d0]
cmp dword [edx], 0
jne 0x45da59
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x23d0]
mov ecx, dword [eax]
mov dword [ebp - 0x23d4], ecx
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x23d4]
call fcn.004688e0
push 0xffffffffffffffff
push 0
lea edx, [ebp - 0x1750]
push edx
mov ecx, 0x4b8534
call fcn.00423530
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x1734]
push eax
mov ecx, 0x4b8550
call fcn.00423530
mov ecx, dword [ebp - 0x178c]
mov dword [0x4b83b8], ecx
xor edx, edx
cmp dword [ebp - 0x1760], 1
setne dl
mov byte [0x4b5378], dl
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4b84e0
call fcn.00423530
mov byte [0x4b5355], 0
mov ecx, dword [ebp - 0x1758]
mov dword [0x4b5324], ecx
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45daf7
mov dword [0x4b6678], 0x50c1
jmp 0x45db04
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x50c3
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
mov dword [ebp - 0x23f0], ecx
mov edx, dword [ebp - 0x23f4]
mov dword [ebp - 0x29a4], edx
mov eax, dword [ebp - 0x23f0]
cmp dword [eax], 0
jne 0x45db34
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x23f0]
mov edx, dword [ecx]
mov dword [ebp - 0x29a4], edx
push 0x4b5358
mov eax, dword [ebp - 0x29a4]
push eax
mov ecx, dword [ebp - 0x29a4]
mov edx, dword [ecx]
call dword [edx + 0x54]
mov eax, dword [ebp - 0x28f4]
add eax, 4
mov dword [ebp - 0x23f8], eax
mov ecx, dword [ebp - 0x23fc]
mov dword [ebp - 0x29a8], ecx
mov edx, dword [ebp - 0x23f8]
cmp dword [edx], 0
jne 0x45db89
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x23f8]
mov ecx, dword [eax]
mov dword [ebp - 0x29a8], ecx
push 0x4b535c
mov edx, dword [ebp - 0x29a8]
push edx
mov eax, dword [ebp - 0x29a8]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edx, dword [ebp - 0x28f4]
add edx, 4
mov dword [ebp - 0x2400], edx
mov eax, dword [ebp - 0x2404]
mov dword [ebp - 0x29ac], eax
mov ecx, dword [ebp - 0x2400]
cmp dword [ecx], 0
jne 0x45dbde
push 0x80004003
call fcn.0048b8a0
mov edx, dword [ebp - 0x2400]
mov eax, dword [edx]
mov dword [ebp - 0x29ac], eax
push 0x4b5360
mov ecx, dword [ebp - 0x29ac]
push ecx
mov edx, dword [ebp - 0x29ac]
mov eax, dword [edx]
call dword [eax + 0x64]
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
mov dword [ebp - 0x2408], ecx
mov edx, dword [ebp - 0x240c]
mov dword [ebp - 0x29b0], edx
mov eax, dword [ebp - 0x2408]
cmp dword [eax], 0
jne 0x45dc33
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x2408]
mov edx, dword [ecx]
mov dword [ebp - 0x29b0], edx
push 0x4b5364
mov eax, dword [ebp - 0x29b0]
push eax
mov ecx, dword [ebp - 0x29b0]
mov edx, dword [ecx]
call dword [edx + 0x6c]
mov eax, dword [ebp - 0x28f4]
add eax, 4
mov dword [ebp - 0x2410], eax
mov ecx, dword [ebp - 0x2414]
mov dword [ebp - 0x29b4], ecx
mov edx, dword [ebp - 0x2410]
cmp dword [edx], 0
jne 0x45dc88
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x2410]
mov ecx, dword [eax]
mov dword [ebp - 0x29b4], ecx
push 0x4b83a8
mov edx, dword [ebp - 0x29b4]
push edx
mov eax, dword [ebp - 0x29b4]
mov ecx, dword [eax]
call dword [ecx + 0x10c]
mov edx, dword [ebp - 0x28f4]
add edx, 4
mov dword [ebp - 0x2418], edx
mov eax, dword [ebp - 0x241c]
mov dword [ebp - 0x29b8], eax
mov ecx, dword [ebp - 0x2418]
cmp dword [ecx], 0
jne 0x45dce0
push 0x80004003
call fcn.0048b8a0
mov edx, dword [ebp - 0x2418]
mov eax, dword [edx]
mov dword [ebp - 0x29b8], eax
push 0x4b83ac
mov ecx, dword [ebp - 0x29b8]
push ecx
mov edx, dword [ebp - 0x29b8]
mov eax, dword [edx]
call dword [eax + 0xc0]
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
mov dword [ebp - 0x2420], ecx
mov edx, dword [ebp - 0x2424]
mov dword [ebp - 0x29bc], edx
mov eax, dword [ebp - 0x2420]
cmp dword [eax], 0
jne 0x45dd38
push 0x80004003
call fcn.0048b8a0
mov ecx, dword [ebp - 0x2420]
mov edx, dword [ecx]
mov dword [ebp - 0x29bc], edx
push 0x4b83b0
mov eax, dword [ebp - 0x29bc]
push eax
mov ecx, dword [ebp - 0x29bc]
mov edx, dword [ecx]
call dword [edx + 0xa8]
mov eax, dword [ebp - 0x28f4]
add eax, 4
mov dword [ebp - 0x2428], eax
mov ecx, dword [ebp - 0x242c]
mov dword [ebp - 0x29c0], ecx
mov edx, dword [ebp - 0x2428]
cmp dword [edx], 0
jne 0x45dd90
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x2428]
mov ecx, dword [eax]
mov dword [ebp - 0x29c0], ecx
push 0x4b83b4
mov edx, dword [ebp - 0x29c0]
push edx
mov eax, dword [ebp - 0x29c0]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45ddcc
mov dword [0x4b6678], 0x50d1
jmp 0x45ddd9
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x50d3
mov dword [ebp - 0x1794], 0
mov dword [ebp - 0x1790], 0
cmp dword [0x4b8384], 0
je 0x45de36
lea ecx, [ebp - 0x1790]
push ecx
lea edx, [ebp - 0x1794]
push edx
mov eax, dword [0x4b8384]
mov edx, dword [eax]
mov ecx, dword [0x4b8384]
call dword [edx + 0x14]
movzx eax, al
test eax, eax
je 0x45de36
mov ecx, dword [ebp - 0x1790]
push ecx
mov edx, dword [ebp - 0x1794]
push edx
push 6
mov ecx, dword [0x4b8388]
call fcn.0042ff60
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45de4a
mov dword [0x4b6678], 0x50dd
jmp 0x45de57
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x50df
push 0xffffffffffffffff
mov edx, dword [0x4b84bc]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x17b0], 0
mov eax, dword [0x4b84b4]
mov dword [ebp - 0x243c], eax
mov ecx, dword [ebp - 0x243c]
mov dword [ebp - 0x1944], ecx
push 0x4b8550
lea edx, [ebp - 0x1940]
push edx
mov ecx, 0x4b84b0
call fcn.00452240
mov dword [ebp - 0x2460], eax
mov eax, dword [ebp - 0x2460]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x1944]
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, cl
neg edx
sbb edx, edx
inc edx
movzx eax, dl
test eax, eax
je 0x45def0
push 0x4b8550
mov ecx, 0x4b84b0
call fcn.00448f70
cmp dword [eax], 1
jne 0x45def0
push 0x4b8550
mov ecx, 0x4b84b0
call fcn.00448f70
mov dword [ebp - 0x17b0], eax
jmp 0x45df4a
lea ecx, [ebp - 0x1800]
call fcn.004490e0
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x1800], 1
lea ecx, [ebp - 0x1800]
push ecx
push 0x4b8550
mov ecx, 0x4b84b0
call fcn.00448f70
mov ecx, eax
call fcn.0044f430
push 0x4b8550
mov ecx, 0x4b84b0
call fcn.00448f70
mov dword [ebp - 0x17b0], eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x1800]
call fcn.00449570
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45df5e
mov dword [0x4b6678], 0x5100
jmp 0x45df6b
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x5102
cmp dword [ebp - 0x1760], 2
jne 0x45e154
mov ecx, dword [ebp - 0x17b0]
mov dword [ecx], 0
mov edx, dword [ebp - 0x17b0]
add edx, 4
mov dword [ebp - 0x27ac], edx
mov eax, dword [ebp - 0x27ac]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0xa50]
je 0x45dffb
mov edx, dword [ebp - 0x27ac]
mov eax, dword [edx]
mov dword [ebp - 0x27a8], eax
mov ecx, dword [ebp - 0x27ac]
mov edx, dword [ebp - 0xa50]
mov dword [ecx], edx
mov eax, dword [ebp - 0x27ac]
cmp dword [eax], 0
je 0x45dfe0
mov ecx, dword [ebp - 0x27ac]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x27ac]
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [ebp - 0x27a8], 0
je 0x45dffb
mov eax, dword [ebp - 0x27a8]
push eax
mov ecx, dword [ebp - 0x27a8]
mov edx, dword [ecx]
call dword [edx + 8]
push 0x4b6684
lea ecx, [ebp - 0x1814]
call fcn.00464dd0
mov byte [ebp - 4], 0x25
mov eax, 2
cmp eax, 2
je 0x45e02f
mov ecx, 2
cmp ecx, 0xb
je 0x45e02f
push 0x80070057
call fcn.0048b8a0
jmp 0x45e064
mov edx, 2
cmp edx, 0xb
jne 0x45e052
mov word [ebp - 0x1810], 0xb
or eax, 0xffffffff
neg eax
sbb eax, eax
mov word [ebp - 0x1808], ax
jmp 0x45e064
mov word [ebp - 0x1810], 2
mov word [ebp - 0x1808], 0xffff
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x1810]
push ecx
push ecx
mov edx, esp
mov dword [ebp - 0x1948], esp
mov dword [ebp - 0x27bc], edx
mov eax, dword [ebp - 0x27bc]
mov ecx, dword [ebp - 0x1814]
mov dword [eax], ecx
mov edx, dword [ebp - 0x27bc]
cmp dword [edx], 0
je 0x45e0b5
mov eax, dword [ebp - 0x27bc]
mov ecx, dword [eax]
mov dword [ebp - 0x27b8], ecx
mov edx, dword [ebp - 0x27b8]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [ebp - 0x27bc]
mov dword [ebp - 0x29c4], eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x17b0]
add ecx, 4
mov dword [ebp - 0x27c0], ecx
mov edx, dword [ebp - 0x27c0]
cmp dword [edx], 0
jne 0x45e0e9
push 0x80004003
call fcn.0048b8a0
mov eax, dword [ebp - 0x27c0]
mov ecx, dword [eax]
mov dword [ebp - 0x27c4], ecx
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x27c4]
call fcn.004688e0
mov byte [ebp - 4], 0x25
lea edx, [ebp - 0x1810]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x27e0], eax
cmp dword [ebp - 0x27e0], 0
jge 0x45e132
mov eax, dword [ebp - 0x27e0]
push eax
call fcn.0048b8a0
mov byte [ebp - 4], 0x22
cmp dword [ebp - 0x1814], 0
je 0x45e154
mov ecx, dword [ebp - 0x1814]
call fcn.0044c570
mov dword [ebp - 0x1814], 0
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45e168
mov dword [0x4b6678], 0x510e
jmp 0x45e175
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x5110
mov eax, dword [0x4b5368]
mov dword [ebp - 0x17ac], eax
mov dword [ebp - 0x17b4], 0
cmp dword [ebp - 0x1760], 2
je 0x45e24e
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45e1ab
mov dword [0x4b6678], 0x5117
jmp 0x45e1b8
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x5119
push 0x4b5368
mov ecx, 0x4b8464
call fcn.004491b0
add eax, 0x70
push eax
mov eax, dword [ebp + 8]
push eax
push 0x4a3114
call dword [sym.imp.ole32.dll_CoMarshalInterThreadInterfaceInStream]
mov dword [ebp - 0x17b4], eax
cmp dword [ebp - 0x17b4], 0
jge 0x45e238
push 0x511e
mov ecx, dword [ebp - 0x28f4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x17b4]
push eax
push 0x4b6ad0
lea ecx, [ebp - 0x1880]
push ecx
call fcn.0048cc64
add esp, 0x14
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x194c], esp
lea edx, [ebp - 0x1880]
push edx
call fcn.00416a60
mov dword [ebp - 0x29c8], eax
call fcn.00445850
add esp, 0x1c
push 0x4b5368
mov ecx, 0x4b8464
call fcn.004491b0
mov dword [eax + 0x70], 0
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45e262
mov dword [0x4b6678], 0x5125
jmp 0x45e26f
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x5127
push 0x4b88b8
call fcn.0048ea23
add esp, 4
mov edx, dword [ebp - 0x28f4]
add edx, 0x48
push edx
push 0
mov eax, dword [ebp - 0x1760]
push eax
mov ecx, dword [ebp - 0x17b0]
push ecx
call fcn.00447a40
add esp, 0x10
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45e2b2
mov dword [0x4b6678], 0x512d
jmp 0x45e2bf
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x512f
push 0xffffffffffffffff
mov ecx, dword [0x4b84bc]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea edx, [ebp - 0x1950]
push edx
mov ecx, 0x4b84c0
call fcn.00462f10
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x1954]
push ecx
mov ecx, 0x4b84c0
call fcn.00462b60
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x1958]
push eax
mov ecx, 0x4b84c0
call fcn.004522e0
mov ecx, dword [0x4b84bc]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, dword [0x4b84bc]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45e335
mov dword [0x4b6678], 0x513b
jmp 0x45e342
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x513d
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x17a8]
call fcn.0044c870
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x1798]
call fcn.0044c540
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x17b8]
call fcn.0044c540
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x178c]
call fcn.0040ebd0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x1734]
call fcn.00421950
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1750]
call fcn.00421950
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x45e3b0
mov dword [0x4b6678], 0x5142
jmp 0x45e3bd
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x48], 0x5144
movzx ecx, byte [ebp - 0xbb9]
test ecx, ecx
je 0x45e4eb
push 0x4b6684
lea ecx, [ebp - 0x189c]
call fcn.00464dd0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0xa48]
call fcn.004691e0
push eax
lea ecx, [ebp - 0x1884]
call fcn.00464dd0
mov byte [ebp - 4], 0x29
push 2
push 0xffffffffffffffff
lea ecx, [ebp - 0x1898]
call fcn.004654a0
mov byte [ebp - 4], 0x2a
lea edx, [ebp - 0x1898]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x195c], esp
lea eax, [ebp - 0x189c]
push eax
call fcn.00464d90
mov dword [ebp - 0x29cc], eax
mov ecx, dword [ebp - 0x29cc]
mov dword [ebp - 0x29d0], ecx
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
call fcn.00462b00
mov ecx, eax
call fcn.004688e0
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
call fcn.00462b00
mov ecx, eax
call fcn.004687b0
push 0x4b5578
push 0x4b5578
push 0x4b5578
push 0x4b5578
push ecx
mov ecx, esp
mov dword [ebp - 0x1960], esp
lea edx, [ebp - 0x1884]
push edx
call fcn.00464d90
mov dword [ebp - 0x29d4], eax
mov eax, dword [ebp - 0x29d4]
mov dword [ebp - 0x29d8], eax
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
call fcn.00462b00
mov ecx, eax
call fcn.00468700
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x1898]
call fcn.0044c870
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x1884]
call fcn.0044c540
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x189c]
call fcn.0044c540
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x45e4ff
mov dword [0x4b6678], 0x5152
jmp 0x45e50c
mov edx, dword [ebp - 0x28f4]
mov dword [edx + 0x48], 0x5154
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xa68]
call fcn.0044c870
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xbc0]
call fcn.0044c540
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xbfc]
call fcn.0040ebd0
mov eax, dword [0x4b842c]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa48]
call fcn.00421950
jmp 0x45e6b1
mov ecx, dword [ebp - 0x28f4]
movzx edx, byte [ecx + 0x14]
test edx, edx
je 0x45e576
mov eax, dword [ebp - 0x28f4]
mov byte [eax + 0x14], 0
jmp 0x45e6b1
mov dword [ebp - 0x18a0], 0
mov ecx, dword [ebp - 0x28f4]
add ecx, 4
call fcn.00462b00
mov dword [ebp - 0x29dc], eax
lea ecx, [ebp - 0x18a0]
push ecx
mov edx, dword [ebp - 0x29dc]
push edx
mov eax, dword [ebp - 0x29dc]
mov ecx, dword [eax]
call dword [ecx + 0x94]
mov edx, dword [ebp - 0x18a0]
push edx
call fcn.0045e730
add esp, 4
mov dword [ebp - 0x18a4], eax
cmp dword [ebp - 0x18a4], 0
je 0x45e6b1
push 0x4a38d8
mov eax, dword [ebp - 0x18a4]
push eax
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
jne 0x45e602
push 0x4a38cc
mov ecx, dword [ebp - 0x18a4]
push ecx
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
je 0x45e6b1
mov edx, dword [ebp - 0x28f4]
mov byte [edx + 0x58], 0
mov eax, dword [ebp - 0x28f4]
mov dword [eax + 0x50], 0
lea ecx, [ebp - 0x18a8]
push ecx
mov ecx, 0x4b84b0
call fcn.00462b30
jmp 0x45e640
push 0
lea edx, [ebp - 0x1964]
push edx
lea ecx, [ebp - 0x18a8]
call fcn.00463410
lea eax, [ebp - 0x1968]
push eax
mov ecx, 0x4b84b0
call fcn.00462b60
push eax
lea ecx, [ebp - 0x18a8]
call fcn.00463440
movzx ecx, al
test ecx, ecx
je 0x45e696
lea ecx, [ebp - 0x18a8]
call fcn.004633f0
mov edx, dword [eax + 0x28]
cmp edx, dword [ebp - 0x18a0]
jne 0x45e694
mov eax, dword [ebp - 0x18a8]
push eax
lea ecx, [ebp - 0x196c]
push ecx
mov ecx, 0x4b84b0
call fcn.00451cb0
jmp 0x45e696
jmp 0x45e62c
mov dl, byte [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x28f4]
call fcn.0045ae90
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x45e6c5
mov dword [0x4b6678], 0x517d
jmp 0x45e6d2
mov ecx, dword [ebp - 0x28f4]
mov dword [ecx + 0x48], 0x517f
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8b4]
call fcn.00421950
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x94]
call fcn.00421950
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8d0]
call fcn.00421950
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call fcn.00421950
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0044c540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10