Function at 0x1001ef4
Capabilities:
Accept command line arguments
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xee4
mov eax, dword [0x1004004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor ebx, ebx
push 7
pop ecx
xor eax, eax
push 9
lea edi, [ebp - 0xe58]
mov dword [ebp - 0xe5c], ebx
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0xeb4]
push 0x206
mov dword [ebp - 0xeb8], ebx
rep stosd dword es:[edi], eax
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push ebx
push eax
mov dword [ebp - 0xe64], ebx
mov dword [ebp - 0xe60], ebx
mov dword [ebp - 0xe6c], ebx
mov dword [ebp - 0xe70], ebx
mov dword [ebp - 0xe7c], ebx
mov dword [ebp - 0xe74], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0xec8]
mov dword [ebp - 0xe80], eax
call fcn.01001995
mov edi, 0x104
push edi
lea eax, [ebp - 0xe3c]
push eax
lea ecx, [ebp - 0xe90]
call fcn.010019ce
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
test eax, eax
jne 0x1001fbf
or dword [ebp - 0xedc], 0xffffffff
jmp 0x10025b2
push dword [ebp - 0xe80]
mov dword [ebp - 0xedc], 1
call fcn.010032a2
mov dword [0x1004028], esi
call fcn.01001e63
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push edi
lea ecx, [ebp - 0x414]
push ecx
push 0x7d1
push eax
mov dword [0x1004024], eax
call esi
mov eax, dword [0x1004028]
push 0x65
push dword [0x1004024]
mov dword [ebp - 0xeb8], 3
mov dword [ebp - 0xeb4], 0x10018e0
mov dword [ebp - 0xeb0], ebx
mov dword [ebp - 0xeac], ebx
mov dword [ebp - 0xea8], eax
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x7f00
push ebx
mov dword [ebp - 0xea4], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push ebx
mov dword [ebp - 0xea0], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0xe9c], eax
lea eax, [ebp - 0x414]
mov dword [ebp - 0xe98], eax
mov eax, dword [section..data]
mov dword [ebp - 0xe94], eax
lea eax, [ebp - 0xeb8]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
push ebx
push dword [0x1004028]
lea eax, [ebp - 0x414]
push ebx
push ebx
push 0xc8
push 0x12c
push ebx
push ebx
push 0xcf0000
push eax
push dword [section..data]
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, eax
mov dword [ebp - 0xe68], edi
cmp edi, ebx
je 0x10025b2
mov dword [ebp - 0xe58], edi
call fcn.01001de3
mov dword [0x1004020], eax
cmp eax, ebx
jne 0x10020df
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xedc], eax
jmp 0x10025b2
lea eax, [ebp - 0xe90]
push eax
lea eax, [ebp - 0xe6c]
push eax
push dword [ebp - 0xe80]
call fcn.01001a18
test eax, eax
jl 0x10025b2
mov eax, dword [ebp - 0xe6c]
test eax, 0x2000
je 0x1002160
xor eax, eax
push 0x81e
mov word [ebp - 0xc34], ax
lea eax, [ebp - 0xc32]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x410
lea eax, [ebp - 0xc34]
push eax
push 0x7d7
push dword [0x1004024]
call esi
push 0x40
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0xc34]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x10025b2
test eax, 0x1000
je 0x100218c
push 7
push dword [0x1004020]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10025b2
call eax
cmp eax, ebx
jge 0x10025b2
jmp 0x10020d4
test eax, 0x800
je 0x10021b0
push 0xb
push dword [0x1004020]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10025b2
call eax
jmp 0x10025b2
test eax, 0x4000
je 0x10021bb
push 6
jmp 0x1002195
test eax, 0x8000
je 0x10021c6
push 5
jmp 0x1002195
test al, al
jns 0x10021ce
push 0x16
jmp 0x1002195
lea ecx, [ebp - 0xe90]
test al, 7
je 0x10021e5
call fcn.01001896
mov dword [ebp - 0xe70], eax
jmp 0x1002235
test eax, 0x100
je 0x10021f9
call fcn.01001896
mov dword [ebp - 0xe7c], eax
jmp 0x1002235
test eax, 0x200
je 0x100220d
call fcn.01001896
mov dword [ebp - 0xe74], eax
jmp 0x1002235
call fcn.010031be
cmp dword [ebp - 0xe90], ebx
jbe 0x1002235
lea ecx, [ebp - 0xe90]
call fcn.01001896
or dword [ebp - 0xe50], 0x80000000
mov dword [ebp - 0xe54], eax
mov eax, dword [0x1004020]
cmp eax, ebx
je 0x10025b2
push 0x10013e4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10025b2
mov dword [ebp - 0xe5c], 0x20
mov esi, 0x10013f4
lea edi, [ebp - 0xe4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea ecx, [ebp - 0xe5c]
push ecx
lea ecx, [ebp - 0xe64]
movsd dword es:[edi], dword [esi]
push ecx
lea ecx, [ebp - 0xe60]
push ecx
movsd dword es:[edi], dword [esi]
call eax
mov esi, eax
cmp esi, ebx
jge 0x1002333
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp esi, 0x80040108
je 0x10022fa
cmp esi, 0x80040116
je 0x10022f3
cmp esi, 0x8004011b
je 0x10022ec
cmp esi, 0x80070005
je 0x10022e5
xor eax, eax
cmp esi, 0x8007000e
sete al
dec eax
and eax, 0xfffffff7
add eax, 0x7dc
jmp 0x10022ff
mov eax, 0x7dd
jmp 0x10022ff
mov eax, 0x7de
jmp 0x10022ff
mov eax, 0x7df
jmp 0x10022ff
mov eax, 0x7e1
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
push dword [0x1004024]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x10
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0xe68]
jmp 0x1002155
mov eax, dword [ebp - 0xe6c]
test al, 0x10
je 0x1002355
mov eax, dword [ebp - 0xe64]
mov ecx, dword [eax]
push ebx
push dword [ebp - 0xe60]
push eax
call dword [ecx + 0x24]
jmp 0x10025b2
test al, 0x40
je 0x1002393
push dword [ebp - 0xe68]
xor eax, eax
mov dword [ebp - 0xe78], ebx
lea edi, [ebp - 0xe74]
stosd dword es:[edi], eax
push dword [ebp - 0xe74]
mov eax, dword [ebp - 0xe64]
push dword [ebp - 0xe78]
mov ecx, dword [eax]
push 8
push dword [ebp - 0xe60]
push eax
call dword [ecx + 0x3c]
jmp 0x10025b2
test al, 0x20
je 0x10023cb
mov eax, dword [ebp - 0xe64]
mov esi, dword [eax]
push ebx
lea ecx, [ebp - 0xe90]
call fcn.01001896
push eax
push 0x80000008
push dword [ebp - 0xe68]
push dword [ebp - 0xe60]
push dword [ebp - 0xe64]
call dword [esi + 0x2c]
jmp 0x10025b2
test al, 1
je 0x100245c
push 0xfde9
push dword [ebp - 0xe70]
lea ecx, [ebp - 0xec8]
call fcn.0100182f
test eax, eax
jl 0x10025b2
mov eax, dword [ebp - 0xe64]
mov esi, dword [eax]
lea ecx, [ebp - 0xec8]
call fcn.01001811
push eax
push ebx
push dword [ebp - 0xe60]
push dword [ebp - 0xe64]
call dword [esi + 0x28]
cmp eax, ebx
jge 0x10025b2
cmp eax, 0x80040113
je 0x10025b2
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x7e3
jmp 0x100230c
test al, 4
je 0x10024d6
push 9
push dword [0x1004020]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10025b2
mov ecx, dword [ebp - 0xe6c]
and ecx, 8
push ecx
push dword [ebp - 0xe70]
push ebx
push dword [ebp - 0xe60]
call eax
cmp eax, ebx
jge 0x10025b2
cmp eax, 0x80040113
je 0x10025b2
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x7e5
jmp 0x100230c
test al, 2
je 0x1002550
push 8
push dword [0x1004020]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10025b2
mov ecx, dword [ebp - 0xe6c]
and ecx, 8
push ecx
push dword [ebp - 0xe70]
push ebx
push dword [ebp - 0xe60]
call eax
cmp eax, ebx
jge 0x10025b2
cmp eax, 0x80040113
je 0x10025b2
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x7e6
jmp 0x100230c
test eax, 0x100
je 0x1002585
push 0xa
push dword [0x1004020]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10025b2
push dword [ebp - 0xe7c]
push dword [ebp - 0xe60]
push dword [ebp - 0xe64]
push dword [ebp - 0xe68]
call eax
jmp 0x10025b2
test eax, 0x200
je 0x10025b2
push 0x17
push dword [0x1004020]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10025b2
push dword [ebp - 0xe74]
push dword [ebp - 0xe60]
push dword [ebp - 0xe68]
call eax
lea eax, [ebp - 0xe60]
push eax
call fcn.01001906
lea eax, [ebp - 0xe64]
push eax
call fcn.01001906
mov eax, dword [0x1004020]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp eax, ebx
je 0x10025e2
push eax
call esi
mov dword [0x1004020], ebx
mov eax, dword [0x1004024]
cmp eax, ebx
je 0x10025f4
push eax
call esi
mov dword [0x1004024], ebx
lea ecx, [ebp - 0xe90]
call fcn.010019fd
lea ecx, [ebp - 0xec8]
call fcn.010019b3
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xedc]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01002ac1
leave
ret 0x10