Function at 0x300141e0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd08
mov eax, dword [0x30002838]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
xor esi, esi
mov edi, 0x206
push edi
lea eax, [ebp - 0x822]
push esi
push eax
mov dword [ebp - 0xc38], esi
mov word [ebp - 0x824], si
call sub.MSVCR80.dll_memset
push edi
lea eax, [ebp - 0x412]
push esi
push eax
mov word [ebp - 0x414], si
call sub.MSVCR80.dll_memset
push edi
lea eax, [ebp - 0x61a]
push esi
push eax
mov word [ebp - 0x61c], si
call sub.MSVCR80.dll_memset
push edi
lea eax, [ebp - 0x20a]
push esi
push eax
mov word [ebp - 0x20c], si
call sub.MSVCR80.dll_memset
push edi
lea eax, [ebp - 0xa2a]
push esi
push eax
mov word [ebp - 0xa2c], si
call sub.MSVCR80.dll_memset
xor edi, edi
add esp, 0x3c
inc edi
push edi
lea ecx, [ebp - 0xcc8]
mov dword [ebp - 0xc40], esi
mov dword [ebp - 0xc44], esi
mov dword [ebp - 0xc4c], esi
call fcn.3000ffd8
push 0x40
lea eax, [ebp - 0xca0]
push esi
push eax
mov dword [ebp - 0xc48], esi
call sub.MSVCR80.dll_memset
add esp, 0xc
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
je 0x300142c1
mov dword [ebp - 0xc38], edi
jmp 0x30014875
push edi
push 0x30002560
call fcn.30014db7
test eax, eax
jne 0x300142df
mov dword [ebp - 0xc38], 0xb
jmp 0x30014875
push 0x30013ff1
call dword [sym.imp.MSO.dll_Ordinal_8119]
call fcn.300140bc
push esi
lea eax, [ebp - 0xc4c]
push eax
push 0x30002260
lea eax, [ebp - 0xcc8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push esi
call dword [sym.imp.MSO.dll_Ordinal_2609]
test eax, eax
je 0x300142d0
push 0x30002478
push 0x30002468
push 0x30002458
push 0x17
call dword [sym.imp.MSO.dll_Ordinal_6792]
lea eax, [ebp - 0xd08]
push eax
push 0x10
push ebx
call fcn.300140d4
cmp eax, esi
mov dword [ebp - 0xc3c], eax
jne 0x30014355
mov dword [ebp - 0xc38], 2
jmp 0x30014875
xor ebx, ebx
cmp eax, esi
jle 0x3001438d
mov ecx, dword [ebp + ebx*4 - 0xd08]
mov dl, byte [ecx]
cmp dl, 0x2d
je 0x3001436e
cmp dl, 0x2f
jne 0x30014388
movsx ecx, byte [ecx + 1]
sub ecx, 0x44
je 0x30014382
dec ecx
jne 0x30014346
mov dword [0x3001834c], edi
jmp 0x30014388
mov dword [ebp - 0xc38], edi
inc ebx
cmp ebx, eax
jl 0x3001435b
push 0x300185ac
call fcn.3000fff1
push 0x300185ec
call fcn.3001413e
cmp dword [ebp - 0xc38], esi
je 0x30014437
xor eax, eax
cmp dword [0x300185f0], esi
mov dword [ebp - 0xc3c], esi
sete al
mov edi, eax
lea eax, [ebp - 0xc3c]
push eax
call fcn.30003cb0
test eax, eax
je 0x300143eb
mov dword [ebp - 0xc38], 0x13
mov eax, dword [ebp - 0xc3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x30014875
cmp edi, esi
je 0x30014418
push 0x104
lea eax, [ebp - 0xc34]
push eax
call fcn.30012c64
cmp eax, esi
mov dword [ebp - 0xc38], eax
je 0x30014428
lea ecx, [ebp - 0xc34]
mov dword [ebp - 0xc40], ecx
jmp 0x30014420
xor eax, eax
mov dword [ebp - 0xc38], eax
cmp eax, esi
jne 0x30014875
push esi
push esi
push esi
push esi
call dword [sym.imp.MSO.dll_Ordinal_6117]
jmp 0x30014875
push 2
push 0x30001870
mov edi, 0x104
push edi
lea eax, [ebp - 0xa2c]
push eax
call fcn.30013d84
push 2
push 0x30002248
push edi
lea eax, [ebp - 0x824]
push eax
call fcn.30013d84
push 7
push 0x30002234
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.30013d84
cmp eax, esi
mov dword [ebp - 0xc38], eax
je 0x30014493
lea eax, [ebp - 0x414]
mov dword [ebp - 0xc40], eax
jmp 0x30014875
push 7
push 0x3000221c
push edi
lea eax, [ebp - 0x61c]
push eax
call fcn.30013d84
cmp eax, esi
mov dword [ebp - 0xc38], eax
je 0x300144b9
lea eax, [ebp - 0x61c]
jmp 0x30014488
push 7
push 0x30002200
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.30013d84
cmp eax, esi
mov dword [ebp - 0xc38], eax
je 0x300144df
lea eax, [ebp - 0x20c]
jmp 0x30014488
mov ebx, dword [sym.imp.MSO.dll_Ordinal_295]
lea eax, [ebp - 0x824]
mov dword [ebp - 0xca0], eax
lea eax, [ebp - 0x414]
mov dword [ebp - 0xc9c], eax
lea eax, [ebp - 0x61c]
mov dword [ebp - 0xc98], eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0xc94], eax
lea eax, [ebp - 0x824]
push eax
call ebx
mov dword [ebp - 0xc90], eax
lea eax, [ebp - 0x414]
push eax
call ebx
mov dword [ebp - 0xc8c], eax
lea eax, [ebp - 0x61c]
push eax
call ebx
mov dword [ebp - 0xc88], eax
lea eax, [ebp - 0x20c]
push eax
call ebx
cmp dword [ebp - 0xc3c], 1
mov dword [ebp - 0xc84], eax
lea eax, [ebp - 0xca0]
mov dword [0x300185f8], eax
jne 0x300145c3
cmp dword [0x3001834c], esi
je 0x300145c3
lea eax, [ebp - 0xc3c]
push eax
call fcn.30003cb0
test eax, eax
je 0x300145c3
mov eax, dword [ebp - 0xc3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
test eax, eax
jne 0x30014595
mov dword [ebp - 0xc38], esi
jmp 0x300145b2
push edi
lea eax, [ebp - 0xc34]
push eax
push 0x30002518
call dword [sym.imp.MSO.dll_Ordinal_6877]
mov dword [ebp - 0xc38], 7
lea eax, [ebp - 0xc34]
mov dword [ebp - 0xc40], eax
jmp 0x300143da
lea eax, [ebp - 0xc70]
push eax
push dword [0x300185ec]
call fcn.30013f09
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xc68], eax
lea eax, [ebp - 0xa2c]
push eax
lea eax, [ebp - 0x824]
push eax
call fcn.30014078
push esi
push 1
call dword [sym.imp.MSO.dll_Ordinal_6347]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateEventW]
push esi
push esi
push 1
push esi
call ebx
push esi
push esi
push 1
push esi
mov dword [ebp - 0xc48], eax
mov dword [ebp - 0xc78], eax
call ebx
push esi
push esi
push esi
push esi
mov dword [ebp - 0xc64], eax
call ebx
cmp dword [ebp - 0xc78], esi
mov dword [ebp - 0xc6c], eax
je 0x3001486b
cmp dword [ebp - 0xc64], esi
je 0x3001486b
cmp eax, esi
je 0x3001486b
mov ebx, dword [ebp - 0xc48]
push ebx
call fcn.30003d5e
test eax, eax
jge 0x3001466d
mov dword [ebp - 0xc38], 0xa
jmp 0x30014875
push 0x300185f4
push esi
lea eax, [ebp - 0xca0]
push eax
push 0x300138f8
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, esi
mov dword [ebp - 0xc44], eax
jne 0x300146a0
mov dword [ebp - 0xc38], 8
jmp 0x30014875
mov dword [ebp - 0xc54], eax
mov eax, dword [ebp - 0xc64]
mov dword [ebp - 0xc58], ebx
mov ebx, dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov dword [ebp - 0xc50], eax
jmp 0x300147fa
cmp eax, 1
jne 0x300147b1
lea eax, [ebp - 0xc3c]
push eax
push dword [ebp - 0xc44]
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x30014815
cmp dword [ebp - 0xc3c], 0x14
jne 0x30014815
push 7
push 0x30002234
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.30013d84
cmp eax, esi
mov dword [ebp - 0xc38], eax
jne 0x30014482
push 7
push 0x3000221c
push edi
lea eax, [ebp - 0x61c]
push eax
call fcn.30013d84
cmp eax, esi
mov dword [ebp - 0xc38], eax
jne 0x300144b1
push 7
push 0x30002200
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.30013d84
cmp eax, esi
mov dword [ebp - 0xc38], eax
jne 0x300144d7
lea eax, [ebp - 0xc5c]
push eax
push esi
lea eax, [ebp - 0xca0]
push eax
push 0x300138f8
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, esi
mov dword [ebp - 0xc60], eax
je 0x30014691
push dword [ebp - 0xc44]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xc60]
mov dword [ebp - 0xc44], eax
mov dword [ebp - 0xc54], eax
mov eax, dword [ebp - 0xc5c]
mov ecx, 0x300185f4
xchg dword [ecx], eax
jmp 0x300147fa
cmp eax, 2
jne 0x300147e4
push dword [ebp - 0xc50]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
jmp 0x300147e4
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 1
push esi
push esi
push esi
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x300147ca
push 0x1ff
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0xc58]
push eax
push 3
call ebx
cmp eax, esi
jne 0x300146c3
mov edi, 0x1ff
jmp 0x3001484c
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 1
push esi
push esi
push esi
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x3001481c
push edi
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0xc44]
push eax
push 1
call ebx
test eax, eax
jne 0x30014836
push 0x300185ac
call fcn.30010008
jmp 0x30014875
mov dword [ebp - 0xc38], 9
cmp dword [ebp - 0xc70], esi
je 0x300148a1
cmp dword [ebp - 0xc68], esi
je 0x30014891
push dword [ebp - 0xc70]
call dword [sym.imp.KERNEL32.dll_SetEvent]
push dword [ebp - 0xc70]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
jmp 0x300148a7
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xc6c], esi
je 0x300148b7
push dword [ebp - 0xc6c]
call edi
cmp dword [ebp - 0xc48], esi
je 0x300148c7
push dword [ebp - 0xc48]
call edi
cmp dword [ebp - 0xc64], esi
je 0x300148d7
push dword [ebp - 0xc64]
call edi
cmp dword [ebp - 0xc44], esi
je 0x300148e7
push dword [ebp - 0xc44]
call edi
mov eax, dword [0x300185ec]
cmp eax, esi
je 0x300148f7
push eax
call fcn.30003200
pop ecx
mov eax, dword [0x300185f0]
cmp eax, esi
je 0x30014907
push eax
call fcn.30003200
pop ecx
call fcn.30004b16
cmp dword [ebp - 0xc38], esi
je 0x30014925
push dword [ebp - 0xc40]
push dword [ebp - 0xc38]
call fcn.30013c55
cmp dword [ebp - 0xc4c], esi
pop edi
pop esi
pop ebx
je 0x3001493c
push dword [ebp - 0xc4c]
call dword [sym.imp.MSO.dll_Ordinal_894]
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0xcc8]
call fcn.3000ff62
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xc38]
xor ecx, ebp
call fcn.30015018
leave
ret 0x10