Function at 0x100c8790
Capabilities:
Get common file path
Get startup folder

Disassembly:
push 0xffffffffffffffff
push 0x101884c0
mov eax, dword fs:[0]
push eax
sub esp, 0x460
mov eax, dword [0x101c6444]
xor eax, esp
mov dword [esp + 0x45c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c6444]
xor eax, esp
push eax
lea eax, [esp + 0x474]
mov dword fs:[0], eax
mov eax, dword [esp + 0x484]
mov ebp, ecx
mov edx, dword [ebp]
mov dword [esp + 0x14], eax
mov eax, dword [edx + 0x14]
xor ebx, ebx
push ebx
call eax
call fcn.10023df0
mov dword [esp + 0x44], eax
add eax, 4
push eax
mov dword [esp + 0x44], 0x101975f4
mov dword [esp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x47c], ebx
call fcn.10063c50
mov ecx, eax
call fcn.10063650
call fcn.100e7500
mov ecx, eax
call fcn.100e6f00
cmp dword [ebp + 0x4cec], ebx
jne 0x100c885e
push 0x94
call fcn.101582b6
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x47c], 1
je 0x100c884f
mov ecx, eax
call fcn.10102249
jmp 0x100c8851
xor eax, eax
mov byte [esp + 0x47c], bl
mov dword [ebp + 0x4cec], eax
mov esi, dword [0x101c8f30]
lea ecx, [esp + 0x150]
push esi
push ecx
call fcn.100f06a6
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x586c]
mov byte [esp + 0x488], 2
call fcn.10001a10
mov edi, 0x10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], bl
jb 0x100c88b1
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
mov ax, word [ebp + 0x1745]
neg ax
lea ecx, [esp + 0x150]
sbb eax, eax
not eax
and eax, esi
push eax
push ecx
call fcn.100f107a
add esp, 8
push 0xffffffffffffffff
push ebx
lea ecx, [ebp + 0x58c0]
push eax
mov byte [esp + 0x488], 3
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], bl
jb 0x100c8909
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [ebp + 0x5324], ebx
jne 0x100c8948
push 0xd8
call fcn.101582b6
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x47c], 4
je 0x100c8939
push 3
mov ecx, eax
call fcn.100f9d75
jmp 0x100c893b
xor eax, eax
mov byte [esp + 0x47c], bl
mov dword [ebp + 0x5324], eax
mov eax, dword [esp + 0x14]
lea edi, [ebp + 0x78]
mov ecx, 0x2da
mov esi, eax
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp + 0xbe0]
mov ecx, 0x2da
mov esi, eax
rep movsd dword es:[edi], dword [esi]
cmp byte [eax + 0xb67], 0xf
jne 0x100c8986
mov byte [ebp + 0xbdf], bl
mov byte [ebp + 0x1747], bl
mov edi, 0x10
jmp 0x100c91a1
mov esi, 0xf
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f0], ebx
mov byte [esp + 0x1e0], bl
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
push 0x104
lea eax, [esp + 0x370]
push ebx
push eax
mov byte [esp + 0x488], 7
call fcn.101580b0
add esp, 0xc
push 1
push 0x1a
lea ecx, [esp + 0x374]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x100c8ad5
lea eax, [esp + 0x36c]
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c8a22
sub eax, edx
push eax
lea edx, [esp + 0x370]
push edx
lea ecx, [esp + 0x158]
call fcn.10001b80
push str.TencentQQDownload_
lea eax, [esp + 0x154]
push eax
lea ecx, [esp + 0x174]
push ecx
mov byte [esp + 0x488], 8
call fcn.1002ced0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e8]
mov byte [esp + 0x488], 9
call fcn.10001a10
mov edi, 0x10
cmp dword [esp + 0x184], edi
jb 0x100c8a9d
mov edx, dword [esp + 0x170]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], edi
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x47c], 7
jb 0x100c8ada
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
jmp 0x100c8ada
mov edi, 0x10
push 0x104
lea ecx, [esp + 0x26c]
push ebx
push ecx
call fcn.101580b0
lea edx, [esp + 0x274]
push 0x104
push edx
call fcn.100eea91
lea eax, [esp + 0x27c]
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c8b10
sub eax, edx
cmp byte [esp + eax + 0x267], 0x5c
je 0x100c8b34
mov byte [esp + eax + 0x268], 0x5c
mov byte [esp + eax + 0x269], bl
push 1
push 3
lea ecx, [esp + 0xd0]
call fcn.10013620
lea eax, [esp + 0x268]
mov byte [esp + 0x47c], 0xa
xor esi, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c8b58
sub eax, edx
je 0x100c8ba4
jmp 0x100c8b70
movzx eax, byte [esp + esi + 0x268]
push eax
call fcn.1015a6ed
mov byte [esp + esi + 0x26c], al
lea eax, [esp + 0x26c]
add esp, 4
add esi, 1
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c8b95
sub eax, edx
cmp esi, eax
jb 0x100c8b70
lea eax, [esp + 0x268]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c8bb0
push 0x10198048
sub eax, edx
push eax
lea ecx, [esp + 0x270]
push ecx
push ebx
call fcn.101025eb
add esp, 0xc
push eax
lea ecx, [esp + 0xd8]
call fcn.100133a0
push eax
call fcn.10012340
add esp, 8
lea edx, [esp + 0x16c]
push edx
lea ecx, [esp + 0xcc]
call fcn.1000abd0
push eax
lea eax, [esp + 0x1e0]
push eax
lea ecx, [esp + 0x158]
push ecx
mov byte [esp + 0x488], 0xb
call fcn.1002cf90
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x488], 0xc
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100c8c4e
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x184], edi
mov dword [esp + 0x168], 0xf
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
mov byte [esp + 0x47c], 0xa
jb 0x100c8c88
mov eax, dword [esp + 0x170]
push eax
call fcn.10157f3b
add esp, 4
push 0x10198048
lea eax, [ebp + 0x58c0]
push eax
lea ecx, [esp + 0x158]
push ecx
call fcn.1002ced0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x488], 0xd
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100c8cd5
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
cmp dword [esp + 0x1f4], edi
mov eax, dword [esp + 0x1e0]
mov byte [esp + 0x47c], 0xe
jae 0x100c8d09
lea eax, [esp + 0x1e0]
lea ecx, [esp + 0x188]
push ecx
push eax
call fcn.100f1417
mov esi, dword [esp + 0x194]
add esp, 8
xor edi, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], edi
jmp 0x100c8d30
cmp esi, ebx
je 0x100c90d7
mov ecx, dword [esp + 0x190]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x24], eax
jae 0x100c908c
cmp dword [edi + esi + 0x18], 0x10
mov eax, dword [edi + esi + 0x14]
mov dword [esp + 0x1c], eax
jb 0x100c8d73
mov edx, dword [edi + esi + 4]
jmp 0x100c8d77
lea edx, [edi + esi + 4]
cmp dword [esp + 0x1d4], eax
mov ecx, dword [esp + 0x1d4]
jb 0x100c8d8b
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x1d8], 0x10
mov eax, dword [esp + 0x1c4]
jae 0x100c8da3
lea eax, [esp + 0x1c4]
push ecx
push edx
push eax
call fcn.10023cd0
add esp, 0xc
cmp eax, ebx
jne 0x100c8dd2
mov edx, dword [esp + 0x1d4]
cmp edx, dword [esp + 0x1c]
jb 0x100c8dd2
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp edx, ecx
setne al
cmp eax, ebx
je 0x100c9079
cmp esi, ebx
je 0x100c8df8
mov ecx, dword [esp + 0x190]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x24], eax
jb 0x100c8e04
call fcn.1015828d
mov esi, dword [esp + 0x18c]
mov edx, dword [esp + 0x18]
mov edi, dword [edx + esi + 0x14]
mov eax, 0x10
cmp dword [edx + esi + 0x18], eax
jb 0x100c8e1d
mov edx, dword [edx + esi + 4]
jmp 0x100c8e21
lea edx, [edx + esi + 4]
mov ecx, dword [esp + 0x1b8]
cmp ecx, edi
jb 0x100c8e2e
mov ecx, edi
cmp dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x1a8]
jae 0x100c8e45
lea eax, [esp + 0x1a8]
push ecx
push edx
push eax
call fcn.10023cd0
add esp, 0xc
cmp eax, ebx
jne 0x100c8e70
mov eax, dword [esp + 0x1b8]
cmp eax, edi
jb 0x100c8e70
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
cmp eax, ebx
je 0x100c9079
cmp esi, ebx
mov edi, dword [esp + 0x24]
je 0x100c8e98
mov ecx, dword [esp + 0x190]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x100c8ea4
call fcn.1015828d
mov esi, dword [esp + 0x18c]
mov eax, dword [esp + 0x18]
add eax, esi
push str.TextLink.xml
push eax
lea ecx, [esp + 0x158]
push ecx
call fcn.1002ced0
add esp, 0xc
mov esi, dword [esp + 0x18c]
cmp esi, ebx
mov byte [esp + 0x47c], 0xf
je 0x100c8ef3
mov ecx, dword [esp + 0x190]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x100c8eff
call fcn.1015828d
mov esi, dword [esp + 0x18c]
mov edx, dword [esp + 0x18]
add esi, edx
push str.eMuleConfig_
lea eax, [esp + 0x170]
push esi
push eax
call fcn.1002ced0
add esp, 0xc
cmp dword [esp + 0x184], 0x10
mov eax, dword [esp + 0x170]
mov byte [esp + 0x47c], 0x10
jae 0x100c8f3b
lea eax, [esp + 0x170]
push eax
call fcn.100aee00
add esp, 4
test al, al
mov esi, 0x10
jne 0x100c901f
cmp dword [esp + 0x168], esi
mov eax, dword [esp + 0x154]
jae 0x100c8f68
lea eax, [esp + 0x154]
push eax
call fcn.1002d140
add esp, 4
test al, al
jne 0x100c901f
mov esi, dword [esp + 0x18c]
cmp esi, ebx
je 0x100c8fa4
mov ecx, dword [esp + 0x190]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x100c8fb0
call fcn.1015828d
mov esi, dword [esp + 0x18c]
mov eax, dword [esp + 0x18]
mov edi, 0x10
cmp dword [eax + esi + 0x18], edi
jb 0x100c8fc5
mov esi, dword [eax + esi + 4]
jmp 0x100c8fc9
lea esi, [eax + esi + 4]
push esi
call fcn.100f0b84
add esp, 4
cmp dword [esp + 0x184], edi
jb 0x100c8feb
mov ecx, dword [esp + 0x170]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], edi
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x47c], 0xe
jb 0x100c9072
mov edx, dword [esp + 0x154]
push edx
jmp 0x100c906a
cmp dword [esp + 0x184], esi
jb 0x100c9038
mov eax, dword [esp + 0x170]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], esi
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x47c], 0xe
jb 0x100c9072
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
mov esi, dword [esp + 0x18c]
add dword [esp + 0x24], 1
add dword [esp + 0x18], 0x1c
mov edi, dword [esp + 0x18]
jmp 0x100c8d30
mov edi, dword [esp + 0x190]
cmp esi, edi
je 0x100c90ce
add esi, 0x18
lea ebx, [ebx]
cmp dword [esi], 0x10
jb 0x100c90b1
mov eax, dword [esi - 0x14]
push eax
call fcn.10157f3b
add esp, 4
mov dword [esi], 0xf
mov dword [esi - 4], ebx
mov byte [esi - 0x14], bl
add esi, 0x1c
lea edx, [esi - 0x18]
cmp edx, edi
jne 0x100c90a0
mov esi, dword [esp + 0x18c]
push esi
call fcn.10157f3b
add esp, 4
lea ecx, [esp + 0x11c]
mov edi, 0x10
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov byte [esp + 0x47c], 7
call fcn.10004960
lea eax, [esp + 0x11c]
push eax
mov dword [esp + 0x120], 0x101975f8
call fcn.101575fb
add esp, 4
cmp dword [esp + 0x1bc], edi
jb 0x100c9139
mov ecx, dword [esp + 0x1a8]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1d8], edi
mov esi, 0xf
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
jb 0x100c916c
mov edx, dword [esp + 0x1c4]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1f4], edi
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
mov byte [esp + 0x47c], bl
jb 0x100c91a1
mov eax, dword [esp + 0x1e0]
push eax
call fcn.10157f3b
add esp, 4
mov ecx, dword [0x101c5c00]
push 0xffffffffffffffff
push str.monitor_object_394E149E_BD14_4890_90BF_E02C2298D641_tencentdl
push ecx
push ebx
lea esi, [ebp + 0x5550]
push 0x200000
mov ecx, esi
call fcn.101022da
push ebx
push 0x5a
push 4
lea edx, [esp + 0x48]
push edx
mov ecx, esi
mov dword [esp + 0x4c], ebx
call fcn.1010250a
mov esi, dword [esp + 0x14]
lea eax, [ebp + 0x18]
mov dword [ebp + 0x8a], eax
mov dword [ebp + 0xbf2], eax
movzx eax, byte [esi + 0xb64]
push eax
call fcn.10063c50
mov ecx, eax
call fcn.1005e620
cmp byte [esi + 0xb64], bl
lea ecx, [esp + 0x1a4]
jne 0x100c92f9
push ecx
call fcn.100f0388
add esp, 4
cmp dword [esp + 0x1b8], ebx
mov byte [esp + 0x47c], 0x11
jne 0x100c9275
lea edx, [esp + 0x150]
push ebx
push edx
call fcn.100f107a
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x488], 0x12
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x11
jb 0x100c9275
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
push 0xc
push str.mediadl.cch
lea ecx, [esp + 0x1ac]
call fcn.1000ca60
cmp dword [esp + 0x1bc], edi
mov eax, dword [esp + 0x1a8]
jae 0x100c929f
lea eax, [esp + 0x1a8]
mov ecx, dword [esp + 0x1b8]
push ecx
push eax
lea edx, [ebp + 0x9a]
push 0x104
push edx
call fcn.10159a02
mov eax, dword [esp + 0x1b8]
add esp, 0x10
cmp dword [esp + 0x1bc], edi
jae 0x100c92d3
lea eax, [esp + 0x1a8]
mov ecx, dword [esp + 0x1b8]
push ecx
push eax
lea edx, [ebp + 0xc02]
push 0x104
push edx
call fcn.10159a02
mov byte [esp + 0x48c], bl
jmp 0x100c9382
push ebx
push 0x1019777d
mov dword [esp + 0x1c4], 0xf
mov dword [esp + 0x1c0], ebx
mov byte [esp + 0x1b0], bl
call fcn.10001b80
cmp dword [esp + 0x1bc], edi
mov eax, dword [esp + 0x1a8]
jae 0x100c9334
lea eax, [esp + 0x1a8]
mov ecx, dword [esp + 0x1b8]
push ecx
push eax
lea edx, [ebp + 0x9a]
push 0x104
push edx
call fcn.10159a02
mov eax, dword [esp + 0x1b8]
add esp, 0x10
cmp dword [esp + 0x1bc], edi
jae 0x100c9368
lea eax, [esp + 0x1a8]
mov ecx, dword [esp + 0x1b8]
push ecx
push eax
lea edx, [ebp + 0xc02]
push 0x104
push edx
call fcn.10159a02
add esp, 0x10
cmp dword [esp + 0x1bc], edi
jb 0x100c939e
mov eax, dword [esp + 0x1a8]
push eax
call fcn.10157f3b
add esp, 4
push 0x15
mov esi, 0xf
push str.fs_conn_doctor.qq.com
lea ecx, [esp + 0x254]
mov dword [esp + 0x26c], esi
mov dword [esp + 0x268], ebx
mov byte [esp + 0x258], bl
call fcn.10001b80
cmp dword [esp + 0x264], edi
mov eax, dword [esp + 0x250]
mov byte [esp + 0x47c], 0x13
jae 0x100c93ea
lea eax, [esp + 0x250]
mov ecx, dword [esp + 0x260]
push ecx
push eax
lea edx, [ebp + 0x8bd]
push pe_nt_image_headers32
push edx
call fcn.10159a02
mov eax, dword [esp + 0x260]
add esp, 0x10
cmp dword [esp + 0x264], edi
jae 0x100c941e
lea eax, [esp + 0x250]
mov edx, dword [esp + 0x260]
push edx
push eax
lea ecx, [ebp + 0x1425]
push pe_nt_image_headers32
push ecx
call fcn.10159a02
add esp, 0x10
push 0x13
push str.pdlxf_doctor.qq.com
lea ecx, [esp + 0x238]
mov dword [esp + 0x250], esi
mov dword [esp + 0x24c], ebx
mov byte [esp + 0x23c], bl
call fcn.10001b80
cmp dword [esp + 0x248], edi
mov eax, dword [esp + 0x234]
mov byte [esp + 0x47c], 0x14
jae 0x100c9482
lea eax, [esp + 0x234]
mov ecx, dword [esp + 0x244]
push ecx
push eax
lea edx, [ebp + 0x2ae]
push pe_nt_image_headers32
push edx
call fcn.10159a02
mov eax, dword [esp + 0x244]
add esp, 0x10
cmp dword [esp + 0x248], edi
jae 0x100c94b6
lea eax, [esp + 0x234]
mov edx, dword [esp + 0x244]
push edx
push eax
lea ecx, [ebp + 0xe16]
push pe_nt_image_headers32
push ecx
call fcn.10159a02
add esp, 0x10
push 0x19
push str.fs_tcp_conn_doctor.qq.com
lea ecx, [esp + 0x200]
mov dword [esp + 0x218], esi
mov dword [esp + 0x214], ebx
mov byte [esp + 0x204], bl
call fcn.10001b80
cmp dword [esp + 0x210], edi
mov eax, dword [esp + 0x1fc]
mov byte [esp + 0x47c], 0x15
jae 0x100c951a
lea eax, [esp + 0x1fc]
mov ecx, dword [esp + 0x20c]
push ecx
push eax
lea edx, [ebp + 0x3b0]
push pe_nt_image_headers32
push edx
call fcn.10159a02
mov eax, dword [esp + 0x20c]
add esp, 0x10
cmp dword [esp + 0x210], edi
jae 0x100c954e
lea eax, [esp + 0x1fc]
mov edx, dword [esp + 0x20c]
push edx
push eax
lea ecx, [ebp + 0xf18]
push pe_nt_image_headers32
push ecx
call fcn.10159a02
add esp, 0x10
push 0x17
push str.fs_report_doctor.qq.com
lea ecx, [esp + 0x21c]
mov dword [esp + 0x234], esi
mov dword [esp + 0x230], ebx
mov byte [esp + 0x220], bl
call fcn.10001b80
cmp dword [esp + 0x22c], edi
mov eax, dword [esp + 0x218]
jae 0x100c95aa
lea eax, [esp + 0x218]
mov ecx, dword [esp + 0x228]
push ecx
push eax
lea edx, [ebp + 0xac1]
push pe_nt_image_headers32
push edx
call fcn.10159a02
mov ecx, dword [esp + 0x228]
add esp, 0x10
cmp dword [esp + 0x22c], edi
jae 0x100c95de
lea ecx, [esp + 0x218]
mov edx, dword [esp + 0x228]
push edx
push ecx
lea eax, [ebp + 0x1629]
push pe_nt_image_headers32
push eax
call fcn.10159a02
add esp, 0x10
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
lea eax, [ebp + 0xe16]
mov byte [esp + 0x47c], 0x17
mov dword [esp + 0x168], 0xf
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9631
sub eax, esi
push eax
lea eax, [ebp + 0xe16]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x480], 0x18
call fcn.1003d630
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x17
jb 0x100c968a
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
mov esi, 0xf
lea eax, [ebp + 0xf18]
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c96b0
sub eax, edx
push eax
lea eax, [ebp + 0xf18]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea edx, [esp + 0x150]
push edx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x480], 0x19
call fcn.1003d630
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x17
jb 0x100c9709
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
lea eax, [ebp + 0x101b]
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9727
sub eax, edx
push eax
lea eax, [ebp + 0x101b]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea ecx, [esp + 0x150]
push ecx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x480], 0x1a
call fcn.1003d630
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x17
jb 0x100c9780
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
lea eax, [ebp + 0x111d]
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c97a0
sub eax, edx
push eax
lea eax, [ebp + 0x111d]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x480], 0x1b
call fcn.1003d630
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x17
jb 0x100c97f9
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
lea eax, [ebp + 0x121f]
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9817
sub eax, edx
push eax
lea eax, [ebp + 0x121f]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea edx, [esp + 0x150]
push edx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x480], 0x1c
call fcn.1003d630
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x17
jb 0x100c9870
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
lea eax, [ebp + 0x1425]
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9890
sub eax, edx
push eax
lea eax, [ebp + 0x1425]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea ecx, [esp + 0x150]
push ecx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x480], 0x1d
call fcn.1003d630
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x17
jb 0x100c98e9
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
lea eax, [ebp + 0x1629]
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9907
sub eax, edx
push eax
lea eax, [ebp + 0x1629]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x480], 0x1e
call fcn.1003d630
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x17
jb 0x100c9960
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
lea eax, [ebp + 0x4d98]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x53c0]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x549c]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4de0]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4e1c]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4e40]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4e64]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4e88]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4ea4]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4ec0]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4ee4]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
lea eax, [ebp + 0x4f08]
push eax
lea ecx, [esp + 0x2c]
call fcn.1003d630
cmp dword [ebp + 0x5230], ebx
jne 0x100c9a6f
push 0x7c
call fcn.101582b6
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
cmp esi, ebx
mov byte [esp + 0x47c], 0x1f
je 0x100c9a5f
movzx edx, word [ebp + 0x1745]
push edx
lea eax, [ebp + 0xc]
push eax
call fcn.10023df0
push eax
mov ecx, esi
call fcn.10033a00
jmp 0x100c9a61
xor eax, eax
mov byte [esp + 0x47c], 0x17
mov dword [ebp + 0x5230], eax
mov ecx, dword [ebp + 0x5230]
cmp ecx, ebx
je 0x100ca853
lea edx, [esp + 0x28]
push edx
call fcn.10032ae0
lea eax, [ebp + 0xe16]
mov dword [esp + 0x1bc], 0xf
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9ab0
sub eax, edx
push eax
lea esi, [ebp + 0xe16]
push esi
lea ecx, [esp + 0x1ac]
call fcn.10001b80
mov eax, esi
mov byte [esp + 0x47c], 0x20
mov dword [esp + 0x1f4], 0xf
mov dword [esp + 0x1f0], ebx
mov byte [esp + 0x1e0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9af5
sub eax, edx
push eax
lea eax, [ebp + 0xe16]
push eax
lea ecx, [esp + 0x1e4]
call fcn.10001b80
lea eax, [esp + 0x1a4]
push eax
lea ecx, [esp + 0x1e0]
push ecx
mov ecx, dword [ebp + 0x5230]
lea edx, [esp + 0x190]
push edx
mov byte [esp + 0x488], 0x21
call fcn.10031600
cmp dword [esp + 0x1f4], edi
jb 0x100c9b58
mov eax, dword [esp + 0x1e0]
push eax
call fcn.10157f3b
add esp, 4
mov esi, 0xf
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f0], ebx
mov byte [esp + 0x1e0], bl
cmp dword [esp + 0x1bc], edi
mov byte [esp + 0x47c], 0x24
jb 0x100c9b93
mov ecx, dword [esp + 0x1a8]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1a0], edi
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
jae 0x100c9bbf
lea eax, [esp + 0x18c]
mov edx, dword [esp + 0x19c]
push edx
push pe_nt_image_headers32
push eax
lea eax, [ebp + 0xe16]
push eax
call fcn.100ee9c3
lea eax, [ebp + 0xf18]
add esp, 0x10
mov dword [esp + 0x168], 0xf
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9c00
sub eax, esi
push eax
lea eax, [ebp + 0xf18]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea eax, [ebp + 0xf18]
mov byte [esp + 0x47c], 0x25
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9c50
sub eax, esi
push eax
lea eax, [ebp + 0xf18]
push eax
lea ecx, [esp + 0x174]
call fcn.10001b80
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x170]
push ecx
mov ecx, dword [ebp + 0x5230]
lea edx, [esp + 0x1c8]
push edx
mov byte [esp + 0x488], 0x26
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x194]
mov byte [esp + 0x488], 0x27
call fcn.10001a10
cmp dword [esp + 0x1d8], edi
jb 0x100c9ccb
mov eax, dword [esp + 0x1c4]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x184], edi
mov esi, 0xf
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
jb 0x100c9cfe
mov ecx, dword [esp + 0x170]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], edi
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x47c], 0x24
jb 0x100c9d34
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1a0], edi
mov eax, dword [esp + 0x18c]
jae 0x100c9d4b
lea eax, [esp + 0x18c]
mov ecx, dword [esp + 0x19c]
push ecx
push pe_nt_image_headers32
push eax
lea eax, [ebp + 0xf18]
push eax
call fcn.100ee9c3
lea eax, [ebp + 0x101b]
mov dword [esp + 0x178], esi
add esp, 0x10
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9d86
sub eax, esi
push eax
lea eax, [ebp + 0x101b]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea eax, [ebp + 0x101b]
mov byte [esp + 0x47c], 0x28
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9dd0
sub eax, esi
push eax
lea eax, [ebp + 0x101b]
push eax
lea ecx, [esp + 0x174]
call fcn.10001b80
lea edx, [esp + 0x150]
push edx
lea eax, [esp + 0x170]
push eax
lea ecx, [esp + 0x1c8]
push ecx
mov ecx, dword [ebp + 0x5230]
mov byte [esp + 0x488], 0x29
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x194]
mov byte [esp + 0x488], 0x2a
call fcn.10001a10
cmp dword [esp + 0x1d8], edi
jb 0x100c9e4b
mov edx, dword [esp + 0x1c4]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x184], edi
mov esi, 0xf
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
jb 0x100c9e7e
mov eax, dword [esp + 0x170]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], edi
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x47c], 0x24
jb 0x100c9eb4
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1a0], edi
mov eax, dword [esp + 0x18c]
jae 0x100c9ecb
lea eax, [esp + 0x18c]
mov edx, dword [esp + 0x19c]
push edx
push pe_nt_image_headers32
push eax
lea eax, [ebp + 0x101b]
push eax
call fcn.100ee9c3
lea eax, [ebp + 0x111d]
mov dword [esp + 0x178], esi
add esp, 0x10
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9f06
sub eax, esi
push eax
lea eax, [ebp + 0x111d]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea eax, [ebp + 0x111d]
mov byte [esp + 0x47c], 0x2b
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100c9f50
sub eax, esi
push eax
lea eax, [ebp + 0x111d]
push eax
lea ecx, [esp + 0x174]
call fcn.10001b80
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x170]
push ecx
mov ecx, dword [ebp + 0x5230]
lea edx, [esp + 0x1c8]
push edx
mov byte [esp + 0x488], 0x2c
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x194]
mov byte [esp + 0x488], 0x2d
call fcn.10001a10
cmp dword [esp + 0x1d8], edi
jb 0x100c9fcb
mov eax, dword [esp + 0x1c4]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x184], edi
mov esi, 0xf
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
jb 0x100c9ffe
mov ecx, dword [esp + 0x170]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], edi
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x47c], 0x24
jb 0x100ca034
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1a0], edi
mov eax, dword [esp + 0x18c]
jae 0x100ca04b
lea eax, [esp + 0x18c]
mov ecx, dword [esp + 0x19c]
push ecx
push pe_nt_image_headers32
push eax
lea eax, [ebp + 0x111d]
push eax
call fcn.100ee9c3
lea eax, [ebp + 0x121f]
mov dword [esp + 0x178], esi
add esp, 0x10
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100ca086
sub eax, esi
push eax
lea eax, [ebp + 0x121f]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea eax, [ebp + 0x121f]
mov byte [esp + 0x47c], 0x2e
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100ca0d0
sub eax, esi
push eax
lea eax, [ebp + 0x121f]
push eax
lea ecx, [esp + 0x174]
call fcn.10001b80
lea edx, [esp + 0x150]
push edx
lea eax, [esp + 0x170]
push eax
lea ecx, [esp + 0x1c8]
push ecx
mov ecx, dword [ebp + 0x5230]
mov byte [esp + 0x488], 0x2f
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x194]
mov byte [esp + 0x488], 0x30
call fcn.10001a10
cmp dword [esp + 0x1d8], edi
jb 0x100ca14b
mov edx, dword [esp + 0x1c4]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x184], edi
mov esi, 0xf
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
jb 0x100ca17e
mov eax, dword [esp + 0x170]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], edi
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x47c], 0x24
jb 0x100ca1b4
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1a0], edi
mov eax, dword [esp + 0x18c]
jae 0x100ca1cb
lea eax, [esp + 0x18c]
mov edx, dword [esp + 0x19c]
push edx
push pe_nt_image_headers32
push eax
lea eax, [ebp + 0x121f]
push eax
call fcn.100ee9c3
lea eax, [ebp + 0x1425]
mov dword [esp + 0x178], esi
add esp, 0x10
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100ca206
sub eax, esi
push eax
lea eax, [ebp + 0x1425]
push eax
lea ecx, [esp + 0x158]
call fcn.10001b80
lea eax, [ebp + 0x1425]
mov byte [esp + 0x47c], 0x31
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100ca250
sub eax, esi
push eax
lea eax, [ebp + 0x1425]
push eax
lea ecx, [esp + 0x174]
call fcn.10001b80
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x170]
push ecx
mov ecx, dword [ebp + 0x5230]
lea edx, [esp + 0x1c8]
push edx
mov byte [esp + 0x488], 0x32
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x194]
mov byte [esp + 0x488], 0x33
call fcn.10001a10
cmp dword [esp + 0x1d8], edi
jb 0x100ca2cb
mov eax, dword [esp + 0x1c4]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x184], edi
mov esi, 0xf
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
jb 0x100ca2fe
mov ecx, dword [esp + 0x170]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], edi
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov byte [esp + 0x47c], 0x24
jb 0x100ca334
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1a0], edi
mov eax, dword [esp + 0x18c]
jae 0x100ca34b
lea eax, [esp + 0x18c]
mov ecx, dword [esp + 0x19c]
push ecx
push pe_nt_image_headers32
push eax
lea eax, [ebp + 0x1425]
push eax
call fcn.100ee9c3
add esp, 0x10
lea esi, [ebp + 0x1629]
push esi
lea ecx, [esp + 0x1c4]
call fcn.100019a0
push esi
lea ecx, [esp + 0x154]
mov byte [esp + 0x480], 0x34
call fcn.100019a0
lea edx, [esp + 0x1c0]
push edx
lea eax, [esp + 0x154]
push eax
lea ecx, [esp + 0x174]
push ecx
mov ecx, dword [ebp + 0x5230]
mov byte [esp + 0x488], 0x35
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x194]
mov byte [esp + 0x488], 0x36
call fcn.10001a10
cmp dword [esp + 0x184], edi
jb 0x100ca3ec
mov edx, dword [esp + 0x170]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x168], edi
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
jb 0x100ca41e
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1d8], edi
mov dword [esp + 0x168], 0xf
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
mov byte [esp + 0x47c], 0x24
jb 0x100ca458
mov ecx, dword [esp + 0x1c4]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1a0], edi
mov eax, dword [esp + 0x18c]
jae 0x100ca46f
lea eax, [esp + 0x18c]
mov edx, dword [esp + 0x19c]
push edx
push pe_nt_image_headers32
push eax
push esi
call fcn.100ee9c3
mov ecx, dword [ebp + 0x5230]
add esp, 0x10
lea esi, [ebp + 0x4d98]
push esi
push esi
lea eax, [esp + 0x158]
push eax
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x37
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca4d5
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
mov ecx, dword [ebp + 0x5230]
lea esi, [ebp + 0x53c0]
push esi
push esi
lea edx, [esp + 0x158]
push edx
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x38
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca524
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
lea esi, [ebp + 0x549c]
push esi
push esi
lea ecx, [esp + 0x158]
push ecx
mov ecx, dword [ebp + 0x5230]
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x39
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca573
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
mov ecx, dword [ebp + 0x5230]
lea esi, [ebp + 0x4ee4]
push esi
push esi
lea eax, [esp + 0x158]
push eax
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x3a
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca5c2
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
mov ecx, dword [ebp + 0x5230]
lea esi, [ebp + 0x4f08]
push esi
push esi
lea edx, [esp + 0x158]
push edx
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x3b
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca611
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
lea esi, [ebp + 0x4de0]
push esi
push esi
lea ecx, [esp + 0x158]
push ecx
mov ecx, dword [ebp + 0x5230]
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x3c
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca660
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
mov ecx, dword [ebp + 0x5230]
lea esi, [ebp + 0x4e1c]
push esi
push esi
lea eax, [esp + 0x158]
push eax
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x3d
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca6af
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
mov ecx, dword [ebp + 0x5230]
lea esi, [ebp + 0x4e40]
push esi
push esi
lea edx, [esp + 0x158]
push edx
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x3e
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca6fe
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
lea esi, [ebp + 0x4e64]
push esi
push esi
lea ecx, [esp + 0x158]
push ecx
mov ecx, dword [ebp + 0x5230]
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x3f
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca74d
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
mov ecx, dword [ebp + 0x5230]
lea esi, [ebp + 0x4e88]
push esi
push esi
lea eax, [esp + 0x158]
push eax
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x40
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca79c
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
mov ecx, dword [ebp + 0x5230]
lea esi, [ebp + 0x4ea4]
push esi
push esi
lea edx, [esp + 0x158]
push edx
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x41
call fcn.10001a10
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x24
jb 0x100ca7eb
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
lea esi, [ebp + 0x4ec0]
push esi
push esi
lea ecx, [esp + 0x158]
push ecx
mov ecx, dword [ebp + 0x5230]
call fcn.10031600
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x488], 0x42
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100ca832
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1a0], edi
mov byte [esp + 0x47c], 0x17
jb 0x100ca853
mov eax, dword [esp + 0x18c]
push eax
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x4d98]
mov esi, 0xf
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100ca89c
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x53c0]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100ca8e0
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x549c]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100ca924
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x4ee4]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100ca968
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x4f08]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100ca9ac
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x4de0]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100ca9f0
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x4e1c]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100caa34
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x4e40]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100caa78
mov edx, dword [esp + 0x154]
push edx
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x4e64]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100caabc
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x4ec0]
push eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.10001a10
cmp dword [esp + 0x168], edi
jb 0x100cab00
mov ecx, dword [esp + 0x154]
push ecx
call fcn.10157f3b
add esp, 4
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x22a]
cmp eax, ebx
mov esi, dword [sym.imp.WS2_32.dll_htonl]
je 0x100cab19
push eax
call esi
jmp 0x100cab1e
call fcn.100aebf0
mov dword [ebp + 0xe0a], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x230]
cmp eax, ebx
je 0x100cab37
push eax
call esi
jmp 0x100cab3c
call fcn.100aebf0
mov ecx, dword [esp + 0x14]
mov esi, dword [sym.imp.WS2_32.dll_htons]
mov dword [ebp + 0xe10], eax
movzx eax, word [ecx + 0x22e]
push eax
call esi
mov edx, dword [esp + 0x14]
movzx eax, ax
mov word [ebp + 0xe0e], ax
movzx eax, word [edx + 0x234]
push eax
call esi
movzx eax, ax
mov word [ebp + 0xe14], ax
mov eax, dword [esp + 0x14]
mov byte [ebp + 0x1017], bl
mov byte [ebp + 0xf15], bl
movzx eax, word [eax + 0x945]
push eax
call esi
mov ecx, dword [esp + 0x14]
movzx eax, ax
mov word [ebp + 0x1525], ax
movzx eax, word [ecx + 0xa47]
push eax
call esi
movzx eax, ax
mov word [ebp + 0x1627], ax
lea eax, [ebp + 0x1629]
push eax
lea ecx, [esp + 0x154]
call fcn.100019a0
push ebx
lea edx, [esp + 0x154]
push edx
lea ecx, [esp + 0x24]
call fcn.100248e0
cmp dword [esp + 0x168], edi
jb 0x100cabf2
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
mov ecx, dword [esp + 0x1c]
push 1
mov dword [esp + 0x20], ecx
push 2
lea ecx, [esp + 0x50]
call fcn.10013500
mov byte [esp + 0x47c], 0x43
xor edi, edi
movzx edx, byte [esp + edi + 0x1c]
push edx
lea ecx, [esp + 0x4c]
call fcn.100133a0
cmp edi, 3
jae 0x100cac37
lea eax, [esp + 0x48]
push 0x1019804c
push eax
call fcn.10012340
add esp, 8
add edi, 1
cmp edi, 4
jb 0x100cac11
lea ecx, [esp + 0x1dc]
push ecx
lea ecx, [esp + 0x4c]
call fcn.1000a8e0
mov edi, eax
lea edx, [esp + 0x150]
push edx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x480], 0x44
call fcn.1000a8e0
mov ecx, dword [edi + 0x14]
mov edi, 0x10
cmp dword [eax + 0x18], edi
mov byte [esp + 0x47c], 0x45
jb 0x100cac85
mov eax, dword [eax + 4]
jmp 0x100cac88
add eax, 4
push ecx
push pe_nt_image_headers32
push eax
lea eax, [ebp + 0x1629]
push eax
call fcn.100ee9c3
add esp, 0x10
cmp dword [esp + 0x168], edi
jb 0x100cacb7
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x1f4], edi
mov dword [esp + 0x168], 0xf
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
mov byte [esp + 0x47c], 0x43
jb 0x100cacf1
mov ecx, dword [esp + 0x1e0]
push ecx
call fcn.10157f3b
add esp, 4
movzx eax, word [ebp + 0x1729]
push eax
call esi
mov word [ebp + 0x1729], ax
call fcn.100f6129
mov ecx, eax
call fcn.100f5eb6
push ebx
push 0x3e8
push 0x30004
mov ecx, ebp
mov dword [ebp + 0x4d34], eax
call fcn.100a82e0
push ebx
push 0x3e8
push 0x30006
mov ecx, ebp
call fcn.100a82e0
push ebx
push 0x927c0
push 0x3015
mov ecx, ebp
call fcn.100a82e0
push ebx
push 0x7530
push 0x3016
mov ecx, ebp
call fcn.100a82e0
push ebx
push 0x3e8
push 0x3017
mov ecx, ebp
call fcn.100a82e0
mov ecx, ebp
call fcn.100a80e0
mov ecx, ebp
call fcn.100b7ae0
mov ecx, ebp
call fcn.100b60c0
mov ecx, ebp
call fcn.100b0fb0
mov ecx, ebp
call fcn.100b7750
cmp byte [ebp + 0x1747], bl
jne 0x100cade7
push 0x1019777d
lea ecx, [esp + 0x154]
call fcn.100019a0
push ebx
lea edx, [esp + 0x154]
push edx
lea ecx, [ebp + 0x5508]
mov byte [esp + 0x484], 0x46
call fcn.10043770
cmp dword [esp + 0x168], edi
mov byte [esp + 0x47c], 0x43
jb 0x100cade7
mov eax, dword [esp + 0x154]
push eax
call fcn.10157f3b
add esp, 4
mov ecx, ebp
call fcn.100c71d0
mov ecx, ebp
call fcn.100bc480
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xb67], 0xf
jne 0x100cae1c
mov eax, dword [eax + 0xb4b]
cmp eax, ebx
jbe 0x100cae1c
mov ecx, dword [ebp + 0x4cd4]
cmp ecx, ebx
je 0x100cae1c
push eax
call fcn.1001af30
movzx ecx, word [ebp + 0x1745]
push ecx
call fcn.10063c50
mov ecx, eax
call fcn.1005e650
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [esp + 0x94]
mov dword [ebp + 0x57f0], eax
mov byte [esp + 0x47c], 0x17
call fcn.10005a00
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0x98], 0x101975f8
call fcn.101575fb
add esp, 4
lea ecx, [esp + 0x28]
call fcn.1002e220
cmp dword [esp + 0x22c], edi
jb 0x100cae8d
mov eax, dword [esp + 0x218]
push eax
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x210], edi
mov esi, 0xf
mov dword [esp + 0x22c], esi
mov dword [esp + 0x228], ebx
mov byte [esp + 0x218], bl
jb 0x100caec0
mov ecx, dword [esp + 0x1fc]
push ecx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x248], edi
mov dword [esp + 0x210], esi
mov dword [esp + 0x20c], ebx
mov byte [esp + 0x1fc], bl
jb 0x100caeee
mov edx, dword [esp + 0x234]
push edx
call fcn.10157f3b
add esp, 4
cmp dword [esp + 0x264], edi
mov dword [esp + 0x248], esi
mov dword [esp + 0x244], ebx
mov byte [esp + 0x234], bl
jb 0x100caf1c
mov eax, dword [esp + 0x250]
push eax
call fcn.10157f3b
add esp, 4
mov ecx, dword [esp + 0x38]
push ecx
mov dword [esp + 0x268], esi
mov dword [esp + 0x264], ebx
mov byte [esp + 0x254], bl
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, 1
mov ecx, dword [esp + 0x474]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x45c]
xor ecx, esp
call fcn.101586e7
add esp, 0x46c
ret 4