Function at 0x100a0df
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x1010060]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x64], ebx
xor eax, eax
lea edi, [ebp - 0x60]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x21], bl
stosd dword es:[edi], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call fcn.0100d19e
mov edi, eax
cmp edi, ebx
jl 0x100a912
lea eax, [ebp - 0x3c]
push eax
push esi
call fcn.010094c7
mov edi, eax
cmp edi, ebx
jl 0x100a89c
lea eax, [ebp - 0x34]
push eax
push esi
call fcn.010095ef
mov edi, eax
cmp edi, ebx
jl 0x100a89c
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x68]
push eax
push 0x1002868
push esi
call fcn.01003218
mov edi, dword [sym.imp.msvcrt.dll_wcstoul]
test al, al
je 0x100a1d2
push dword [ebp - 0x20]
mov dword [ebp - 0x54], ebx
push esi
call fcn.01003267
push ebx
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x68]
call edi
mov ecx, dword [ebp - 0x54]
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp ecx, ebx
je 0x100a1b4
xor edx, edx
cmp dx, word [ecx]
jne 0x100a1b4
cmp eax, 1
jb 0x100a1a4
cmp eax, 0x32
jbe 0x100a1d9
push eax
push 0x1002858
push 0x643
jmp 0x100a2b3
push 0x57e
call fcn.0100c8e3
push dword [ebp - 0x68]
push 0x100284c
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
jmp 0x100a2e0
mov dword [ebp - 0x20], 3
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0x100283c
push esi
call fcn.01003218
test al, al
je 0x100a20e
push dword [ebp - 0x40]
push esi
call fcn.01003267
push ebx
push ebx
push dword [ebp - 0x6c]
call edi
add esp, 0xc
imul eax, eax, 0x3e8
mov dword [ebp - 0x40], eax
jmp 0x100a215
mov dword [ebp - 0x40], 0x3e8
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x50]
push eax
push 0x1002240
push esi
call fcn.01003218
test al, al
je 0x100a252
push dword [ebp - 0x44]
push esi
call fcn.01003267
mov edi, dword [sym.imp.msvcrt.dll__wcsicmp]
push 0x100223c
push dword [ebp - 0x50]
call edi
pop ecx
pop ecx
test eax, eax
jne 0x100a28d
mov dword [ebp - 0x18], 1
lea eax, [ebp - 0x44]
push eax
push ebx
push 0x100282c
push esi
call fcn.01003218
test al, al
je 0x100a273
push dword [ebp - 0x44]
push esi
call fcn.01003267
mov byte [ebp - 0x21], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x100a2eb
push 0x57e
call fcn.0100c8e3
mov edi, dword [sym.imp.msvcrt.dll_wprintf]
jmp 0x100a2d1
push 0x1002238
push dword [ebp - 0x50]
call edi
pop ecx
pop ecx
test eax, eax
jne 0x100a2a6
mov dword [ebp - 0x18], 2
jmp 0x100a252
push dword [ebp - 0x50]
push 0x100284c
push 0x57e
call fcn.0100ca2c
add esp, 0xc
jmp 0x100a2e1
mov eax, dword [esi + 8]
mov ecx, dword [esi]
push dword [ecx + eax*4]
push 0x10012b0
call edi
inc dword [esi + 8]
pop ecx
pop ecx
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x100a2bd
push 0x10012ac
call edi
pop ecx
mov edi, 0x80070057
jmp 0x100a89c
push dword [ebp - 0x40]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x18]
call fcn.01009d65
mov edi, eax
cmp edi, ebx
mov ebx, dword [ebp - 0x28]
jl 0x100a87c
mov ecx, dword [ebp - 0x1c]
xor eax, eax
test ecx, ecx
jbe 0x100a325
mov edx, dword [ebx + eax*4]
mov esi, dword [ebp - 0x18]
inc eax
mov dword [edx + 8], esi
cmp eax, ecx
jb 0x100a317
mov eax, dword [ebp - 0x20]
cmp eax, ecx
jbe 0x100a331
mov eax, ecx
mov dword [ebp - 0x20], eax
mov esi, dword [sym.imp.msvcrt.dll_wprintf]
cmp eax, 1
ja 0x100a3e2
xor edi, edi
test ecx, ecx
jbe 0x100a381
push 0x1002440
call esi
push dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
lea ebx, [edi + 1]
lea edi, [eax + edi*4]
mov eax, dword [edi]
push ebx
push dword [eax]
push 0x1002804
push 0xe16
call fcn.0100ca2c
add esp, 0x18
push dword [edi]
call fcn.01009890
mov edi, ebx
cmp edi, dword [ebp - 0x1c]
jb 0x100a346
mov ebx, dword [ebp - 0x28]
and dword [ebp - 0x18], 0
cmp dword [ebp - 0x1c], 0
jbe 0x100a3b4
push 0x1002440
call esi
pop ecx
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push ebx
call fcn.01009a06
mov edi, eax
test edi, edi
jl 0x100a87c
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jb 0x100a38b
push 0x1002440
call esi
xor eax, eax
pop ecx
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x1c], eax
jbe 0x100a4fd
mov ecx, dword [ebx + eax*4]
cmp byte [ecx + 4], 0
jne 0x100a4df
inc eax
cmp eax, dword [ebp - 0x1c]
jb 0x100a3ca
jmp 0x100a4fd
mov ecx, dword [ebp - 0x1c]
imul eax, eax, 0xc
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], ebx
xor edi, edi
push eax
mov dword [ebp - 0x5c], edi
push 0x40
mov dword [ebp - 0x58], edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x30], eax
cmp eax, edi
jne 0x100a410
mov edi, 0x8007000e
jmp 0x100a87c
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x20], edi
jbe 0x100a451
mov edi, dword [ebp - 0x30]
lea eax, [ebp - 0x64]
mov dword [edi + 8], eax
lea eax, [ebp - 0x70]
push eax
xor eax, eax
push eax
push edi
push 0x10099b0
push eax
push eax
mov dword [edi + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi], eax
test eax, eax
je 0x100a493
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add edi, 0xc
cmp eax, dword [ebp - 0x20]
jb 0x100a41b
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x1c]
jae 0x100a37e
push 0x1002800
push 0xe16
call fcn.0100ca2c
xor ebx, ebx
pop ecx
pop ecx
cmp dword [ebp - 0x20], ebx
jbe 0x100a4bf
mov edi, dword [ebp - 0x30]
add edi, 4
cmp ebx, 0x10
jae 0x100a4bf
mov eax, dword [edi]
cmp eax, dword [ebp - 0x1c]
jae 0x100a4ae
inc eax
push eax
push 0x10027f4
call esi
pop ecx
jmp 0x100a4b5
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x100a4a7
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
jmp 0x100a87c
push 0x10027ec
call esi
inc ebx
add edi, 0xc
pop ecx
cmp ebx, dword [ebp - 0x20]
jb 0x100a47b
push dword [ebp - 0x1c]
push dword [ebp - 0x58]
push 0x10027d0
call esi
add esp, 0xc
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100a451
mov eax, ecx
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x4c], eax
xor edi, edi
mov eax, dword [ebx + edi*4]
add eax, 0x28
sub dword [eax], ecx
sbb dword [eax + 4], edx
inc edi
cmp edi, dword [ebp - 0x1c]
jb 0x100a4ec
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x1c], eax
jbe 0x100a83a
mov ebx, 0xc58
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
lea edi, [eax + ecx*4]
mov eax, dword [edi]
cmp byte [eax + 4], 0
mov ecx, 0x10027b4
jne 0x100a52e
mov ecx, 0x1001f30
push ecx
push dword [eax]
push 0x10027a8
call esi
mov eax, dword [edi]
add esp, 0xc
cmp dword [eax + 0x14], 0
jne 0x100a581
cmp dword [eax + 0x18], 0x80072af9
push 0x10027a0
jne 0x100a567
call esi
mov dword [esp], 0x1002774
push ebx
call fcn.0100ca2c
pop ecx
pop ecx
jmp 0x100a828
call esi
mov eax, dword [edi]
push dword [eax + 0x18]
push 0x1002760
push ebx
call fcn.0100ca2c
add esp, 0x10
jmp 0x100a828
and dword [ebp - 0x38], 0
lea ecx, [ebp - 0x38]
push ecx
mov ecx, dword [eax + 0x10]
push dword [ecx]
push dword [eax + 0xc]
call fcn.0100d0f1
test eax, eax
jge 0x100a5b4
push 0x10027a0
call esi
mov dword [esp], 0x1002758
push 0xc59
call fcn.0100ca2c
jmp 0x100a5be
push dword [ebp - 0x38]
push 0x1002748
call esi
cmp dword [ebp - 0x38], 0
pop ecx
pop ecx
je 0x100a5cf
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x1002730
call esi
mov eax, dword [edi]
pop ecx
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jge 0x100a61d
cmp ecx, 0x80072b02
jne 0x100a60c
push 0x1002704
push ebx
call fcn.0100ca2c
push 0x3e8
push 0x10026f4
push 0xe13
call fcn.0100ca2c
add esp, 0x14
jmp 0x100a633
push ecx
push 0x100256c
push ebx
call fcn.0100ca2c
add esp, 0xc
jmp 0x100a633
push dword [eax + 0x20]
push 0x10026e8
call esi
pop ecx
pop ecx
push 0xe14
call fcn.0100c967
push 0x10026d4
call esi
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
pop ecx
test eax, eax
jge 0x100a6a1
cmp eax, 0x80072746
jne 0x100a667
push 0x10026b0
push ebx
call fcn.0100ca2c
pop ecx
pop ecx
push 0xe11
call fcn.0100c967
jmp 0x100a828
cmp eax, 0x800705b4
jne 0x100a68d
push 0x100268c
push ebx
call fcn.0100ca2c
mov eax, dword [edi]
push dword [eax + 0x48]
push 0xe12
call fcn.0100caaa
jmp 0x100a579
push eax
push 0x100256c
push ebx
call fcn.0100ca2c
add esp, 0xc
jmp 0x100a828
mov eax, dword [edi]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
test eax, eax
jg 0x100a6c3
jl 0x100a6b3
test ecx, ecx
jae 0x100a6c3
neg ecx
adc eax, 0
neg eax
mov dword [ebp - 0x2c], 0x10016e0
jmp 0x100a6ca
mov dword [ebp - 0x2c], 0x1002688
push 0
push 0x989680
push eax
push ecx
call fcn.0100c1f0
push ecx
push edx
push eax
push dword [ebp - 0x2c]
mov dword [ebp - 0x74], ebx
push 0x1002668
call esi
xor ebx, ebx
add esp, 0x14
cmp dword [ebp - 0x4c], ebx
je 0x100a704
mov eax, dword [ebp - 0x4c]
push dword [eax]
push 0xe17
call fcn.0100caaa
pop ecx
jmp 0x100a70e
push 0xe18
call fcn.0100caaa
mov eax, dword [edi]
cmp dword [eax + 0x34], 0
pop ecx
mov ecx, 0xe59
mov dword [ebp - 0x2c], ecx
jne 0x100a724
mov dword [ebp - 0x2c], ecx
jmp 0x100a78c
cmp dword [eax + 0x38], 1
ja 0x100a76f
push 0x27
pop eax
mov word [ebp - 0x14], ax
mov eax, dword [edi]
movzx ax, byte [eax + 0x34]
mov word [ebp - 0x12], ax
mov eax, dword [edi]
movzx ax, byte [eax + 0x35]
mov word [ebp - 0x10], ax
mov eax, dword [edi]
movzx ax, byte [eax + 0x36]
mov word [ebp - 0xe], ax
mov eax, dword [edi]
movzx ax, byte [eax + 0x37]
mov word [ebp - 0xc], ax
push 0x27
pop eax
mov word [ebp - 0xa], ax
xor eax, eax
lea ebx, [ebp - 0x14]
mov word [ebp - 8], ax
jmp 0x100a78c
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x100a77a
mov ebx, dword [ecx]
jmp 0x100a78c
mov eax, dword [eax + 0x44]
test eax, eax
je 0x100a785
mov ebx, eax
jmp 0x100a78c
mov dword [ebp - 0x2c], 0xe58
push 0x1002648
call esi
mov eax, dword [edi]
cmp dword [eax + 0x40], 0
pop ecx
jne 0x100a7ca
cmp dword [eax + 0x44], 0
jne 0x100a7ca
test ebx, ebx
je 0x100a7b2
push ebx
push 0x1001954
call esi
pop ecx
pop ecx
jmp 0x100a7ba
push dword [ebp - 0x2c]
call fcn.0100c8e3
mov eax, dword [edi]
push dword [eax + 0x34]
push 0x1002630
call esi
pop ecx
pop ecx
jmp 0x100a802
test ebx, ebx
je 0x100a7da
push ebx
push 0x1001954
call esi
pop ecx
pop ecx
jmp 0x100a7e2
push dword [ebp - 0x2c]
call fcn.0100c8e3
mov eax, dword [edi]
movzx ecx, byte [eax + 0x37]
push ecx
movzx ecx, byte [eax + 0x36]
push ecx
movzx ecx, byte [eax + 0x35]
movzx eax, byte [eax + 0x34]
push ecx
push eax
push 0x1002610
call esi
add esp, 0x14
push 0x10025fc
call esi
mov eax, dword [edi]
push dword [eax + 0x38]
push 0x10025f0
push 0xe19
call fcn.0100ca2c
add esp, 0x10
inc dword [ebp - 0x48]
mov ebx, 0xc58
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jb 0x100a513
mov ebx, dword [ebp - 0x28]
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
push ebx
call fcn.01009bc0
cmp dword [ebp - 0x48], 0
mov edi, eax
je 0x100a87c
cmp byte [ebp - 0x21], 0
jne 0x100a87c
push 0xdad
call fcn.0100c8e3
push 0xdae
call fcn.0100c8e3
push 0xdaf
call fcn.0100c8e3
push 0xdb0
call fcn.0100c8e3
test ebx, ebx
je 0x100a89c
xor esi, esi
cmp dword [ebp - 0x1c], esi
jbe 0x100a895
push dword [ebx + esi*4]
call fcn.01009407
inc esi
cmp esi, dword [ebp - 0x1c]
jb 0x100a887
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [ebp - 0x3c]
xor ebx, ebx
cmp esi, ebx
je 0x100a8b8
mov eax, esi
mov esi, dword [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp esi, ebx
jne 0x100a8a5
mov dword [ebp - 0x3c], esi
call fcn.0100d1ea
cmp dword [ebp - 0x34], ebx
je 0x100a8ca
push dword [ebp - 0x34]
call fcn.010095ca
cmp dword [ebp - 0x30], ebx
je 0x100a90e
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x20], ebx
jbe 0x100a905
mov esi, dword [ebp - 0x30]
mov eax, dword [esi]
cmp eax, ebx
je 0x100a8f7
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add esi, 0xc
cmp eax, dword [ebp - 0x20]
jb 0x100a8e0
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp edi, ebx
je 0x100a925
push edi
push 0x100256c
push 0xe15
call fcn.0100ca2c
add esp, 0xc
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100bee5
leave
ret 4