Function at 0x1005f34
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
push ebx
mov dword [0x10092e4], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [0x10092e0], eax
mov eax, dword [ebp + 0x10]
xor ebx, ebx
push edi
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
mov dword [0x10092dc], eax
call fcn.01005dfe
mov edi, dword [sym.imp.msvcrt.dll__strcmpi]
xor esi, esi
inc esi
cmp dword [0x10092e4], ebx
jle 0x1005f4b
mov eax, dword [0x10092e0]
push 0x10037dc
push dword [eax]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1005f28
call fcn.01005dfe
call fcn.01005dfe
push eax
mov dword [0x1009390], eax
mov dword [0x10093b0], esi
call fcn.010047ba
jmp 0x1005f4b
mov eax, dword [0x10092e0]
push 0x10037d4
push dword [eax]
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1005f4b
call fcn.01005dfe
call fcn.01005dfe
mov dword [0x1009390], eax
cmp dword [0x10092c0], ebx
jne 0x1005f5e
push dword [0x1009390]
call fcn.0100474e
cmp dword [0x10093b0], ebx
jne 0x1005f90
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
push 0xa0
push eax
call dword [ecx + 0xe0]
mov eax, dword [0x10092b4]
mov ecx, dword [eax]
push 0x2f
push eax
call dword [ecx + 0x18]
push 0x1008080
call fcn.010054e4
mov eax, dword [0x10092c0]
mov ecx, dword [eax]
lea edx, [ebp + 0xc]
push edx
push eax
call dword [ecx + 0x8c]
cmp dword [0x10092e4], ebx
jle 0x1006861
mov ebx, dword [sym.imp.msvcrt.dll__stricmp]
mov edi, 0x400
cmp dword [ebp - 4], 0
je 0x1005fc8
mov eax, dword [ebp + 8]
cmp byte [eax + 1], 0
jne 0x100600e
call fcn.01005dfe
mov dword [ebp + 8], eax
mov cl, byte [eax]
cmp cl, 0x2d
je 0x1005fe0
cmp cl, 0x2f
jne 0x100676b
push 0x10037dc
push eax
call dword [sym.imp.msvcrt.dll__strcmpi]
test eax, eax
pop ecx
pop ecx
je 0x1006846
push 0x10037d4
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll__strcmpi]
test eax, eax
pop ecx
pop ecx
je 0x1006846
and dword [ebp - 4], 0
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
movsx eax, byte [eax]
push eax
call dword [sym.imp.msvcrt.dll_tolower]
cmp eax, 0x6d
pop ecx
jg 0x10062aa
je 0x1006293
cmp eax, 0x65
jg 0x10061c8
je 0x1006166
sub eax, 0x2d
je 0x10060f1
sub eax, 5
je 0x10060d8
sub eax, 0xd
je 0x10063c0
sub eax, 0x22
je 0x10060ba
dec eax
dec eax
je 0x1006084
dec eax
jne case.0x10062b6.117
cmp dword [0x1009390], 0
jne 0x1006787
mov dword [0x10093b4], esi
jmp 0x1006763
push 0x10037cc
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x10060ab
call fcn.01005dfe
push eax
call dword [sym.imp.msvcrt.dll_atoi]
pop ecx
mov dword [0x1008084], eax
jmp 0x10063c3
call fcn.01005dfe
mov dword [0x100939c], eax
jmp 0x10063c3
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
mov edx, dword [ebp + 8]
push 0
inc edx
push edx
push eax
call dword [ecx + 0x128]
jmp 0x10063c3
cmp dword [0x10093b0], 0
jne case.0x10062b6.117
or dword [0x1008080], 0x10
jmp 0x10063c3
cmp dword [0x10093b0], 0
jne case.0x10062b6.117
cmp dword [0x1009380], 0
jne 0x1006797
cmp dword [0x1009388], 0
jne 0x1006797
mov eax, dword [0x1008080]
and eax, 0xfffffffd
or eax, esi
mov dword [0x1008080], eax
mov eax, dword [0x10092b4]
mov ecx, dword [eax]
push 4
push eax
call dword [ecx + 0x10]
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
push 0xa0
push eax
call dword [ecx + 0xdc]
or dword [0x1009380], 0xffffffff
and dword [0x1009388], 0
mov dword [0x10093b4], esi
mov dword [0x10093a8], esi
jmp 0x10063c3
cmp dword [0x10093b0], 0
jne case.0x10062b6.117
mov eax, dword [0x1009378]
or eax, dword [0x100937c]
jne 0x10067a7
call fcn.01005dfe
push 0x1009378
push 0x10037c4
push eax
mov dword [ebp + 8], eax
call dword [sym.imp.msvcrt.dll_sscanf]
mov ecx, dword [0x1009378]
mov edx, dword [0x100937c]
mov eax, ecx
add esp, 0xc
or eax, edx
je 0x10067b7
mov eax, dword [0x10092b8]
mov ebx, dword [eax]
push edx
push ecx
push eax
call dword [ebx + 0x60]
jmp 0x10063fe
sub eax, 0x66
je 0x100625f
dec eax
je 0x100623b
dec eax
je 0x1006223
dec eax
je 0x1006205
sub eax, 3
jne case.0x10062b6.117
push 0x1001e48
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne case.0x10062b6.117
mov eax, dword [0x10092b4]
mov ecx, dword [eax]
push 0x10
jmp 0x1006472
mov eax, dword [0x10092b4]
mov ebx, dword [eax]
call fcn.01005dfe
push eax
push dword [0x10092b4]
call dword [ebx + 0xb0]
jmp 0x10063fe
mov eax, dword [ebp + 8]
cmp byte [eax + 1], 0x64
jne case.0x10062b6.117
or dword [0x1008080], edi
jmp 0x10063c3
mov eax, dword [ebp + 8]
cmp byte [eax], 0x67
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
jne 0x100624e
push 0x20
jmp 0x1006253
push 0x80
push eax
call dword [ecx + 0xdc]
jmp 0x1006763
push 0x10037bc
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne case.0x10062b6.117
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
push 0x200
push eax
call dword [ecx + 0xd8]
mov eax, dword [0x10092b4]
mov ecx, dword [eax]
push edi
jmp 0x1006472
push 0x10037b4
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne case.0x10062b6.117
push esi
jmp 0x10062fa
sub eax, 0x6e
cmp eax, 0xc
ja case.0x10062b6.117
jmp dword [eax*4 + 0x10068b9]
push 7
push 0x10037ac
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1006335
add dword [ebp + 8], 8
push 0x10037a8
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x100630d
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
push 4
push eax
call dword [ecx + 0xdc]
push 8
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xd8]
jmp 0x10063c3
push 0x10037a4
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x10063c3
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
push 8
push eax
call dword [ecx + 0xdc]
push 4
jmp 0x10062fa
cmp dword [0x1009390], 0
je 0x1006363
cmp dword [0x10093b0], 0
jne 0x1006363
push 0x100379c
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x1006363
mov dword [0x10093b4], 2
jmp 0x10063c3
push 0x1003794
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x100637a
push 0x1000
jmp 0x10062fa
mov eax, dword [ebp + 8]
cmp byte [eax + 1], 0
jne case.0x10062b6.117
mov eax, dword [0x10092b4]
mov ecx, dword [eax]
push 0x80000000
jmp 0x1006472
mov eax, dword [ebp + 8]
cmp byte [eax], 0x51
jne case.0x10062b6.117
cmp byte [eax + 1], 0x52
je 0x10067c7
mov eax, dword [ebp + 8]
movsx eax, byte [eax]
push eax
push dword [0x1008088]
push 0x1003778
call fcn.01003aec
add esp, 0xc
mov dword [ebp - 8], esi
cmp dword [0x10092e4], 0
jg 0x1005fb9
jmp 0x100685f
push 0x1003770
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x1006406
mov eax, dword [0x10092b4]
mov ebx, dword [eax]
call fcn.01005dfe
push eax
push dword [0x10092b4]
call dword [ebx + 0xc0]
mov ebx, dword [sym.imp.msvcrt.dll__stricmp]
jmp 0x10063c3
push 0x100376c
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
je 0x1006286
push 0x1003764
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x1006438
mov eax, dword [0x10092b4]
mov ecx, dword [eax]
push 0x200
jmp 0x1006472
push 0x100375c
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x1006456
mov eax, dword [0x10092b4]
mov ecx, dword [eax]
push 0x80
jmp 0x1006472
push 0x1003754
push dword [ebp + 8]
call ebx
pop ecx
test eax, eax
mov eax, dword [0x10092b4]
pop ecx
mov ecx, dword [eax]
jne 0x100647b
push 0x100
push eax
call dword [ecx + 0x10]
jmp 0x10063c3
push 4
push eax
call dword [ecx + 0x14]
jmp 0x1006763
or dword [ebp + 0xc], 8
mov eax, dword [0x10092c0]
push dword [ebp + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x90]
mov eax, dword [0x10092b8]
push dword [ebp + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
jmp 0x1006763
mov eax, dword [0x10092b4]
mov ebx, dword [eax]
call fcn.01005dfe
push eax
push dword [0x10092b4]
call dword [ebx + 0xa4]
jmp 0x10063fe
cmp dword [0x10093b0], 0
jne case.0x10062b6.117
mov eax, dword [ebp + 8]
mov al, byte [eax + 1]
cmp al, 0x70
jne 0x10064f2
call fcn.01005dfe
mov dword [0x10093a0], eax
jmp 0x10063c3
test al, al
jne case.0x10062b6.117
call fcn.01005dfe
mov dword [0x10093a4], eax
jmp 0x10063c3
cmp dword [0x10093b0], 0
jne case.0x10062b6.117
mov eax, dword [0x1008080]
and eax, 0xfffffffd
or eax, esi
mov dword [0x1008080], eax
jmp 0x1006763
cmp dword [0x10093b0], 0
jne case.0x10062b6.117
push 0x100374c
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x1006556
call fcn.01005dfe
mov dword [0x100938c], eax
jmp 0x10063c3
mov eax, dword [ebp + 8]
mov al, byte [eax + 1]
cmp al, 0x64
jne 0x100656b
mov dword [0x10093ac], esi
jmp 0x10063c3
cmp al, 0x65
jne 0x100657e
mov dword [0x10093bc], 2
jmp 0x10063c3
cmp al, 0x74
jne 0x10065a5
mov eax, dword [0x10092b8]
mov ebx, dword [eax]
call fcn.01005dfe
push eax
call dword [sym.imp.msvcrt.dll_atoi]
pop ecx
push eax
push dword [0x10092b8]
call dword [ebx + 0x18]
jmp 0x10063fe
cmp al, 0x76
jne 0x10065b4
mov dword [0x10093bc], esi
jmp 0x10063c3
cmp dword [0x1009380], 0
jne 0x1006797
cmp dword [0x1009388], 0
jne 0x1006797
cmp al, 0x6e
jne 0x10065e8
call fcn.01005dfe
and dword [0x1009380], 0
mov dword [0x1009388], eax
jmp 0x10063c3
and dword [0x1009388], 0
call fcn.01005dfe
mov ecx, eax
mov dword [ebp + 8], ecx
cmp byte [ecx], 0x2d
jne 0x100661c
cmp byte [ecx + 1], 0x31
jne 0x100661c
cmp byte [ecx + 2], 0
jne 0x100661c
or dword [0x1009380], 0xffffffff
mov dword [0x10093b4], esi
jmp 0x10063c3
cmp byte [ecx], 0x30
jne 0x1006630
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x100662c
cmp al, 0x58
jne 0x1006630
push 0
jmp 0x1006632
push reloc.msvcrt.dll_printf
lea eax, [ebp - 0xc]
push eax
push ecx
call dword [sym.imp.msvcrt.dll_strtoul]
add esp, 0xc
test eax, eax
mov dword [0x1009380], eax
jne 0x10063c3
push dword [ebp + 8]
push dword [0x1008088]
push 0x1003738
jmp 0x1006813
push 0x1003730
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x1006676
push edi
jmp 0x10062fa
mov eax, dword [ebp + 8]
cmp byte [eax + 1], 0
jne case.0x10062b6.117
call fcn.01005dfe
push reloc.msvcrt.dll_printf
lea ecx, [ebp + 8]
push ecx
push eax
mov dword [ebp + 8], eax
call dword [sym.imp.msvcrt.dll_strtoul]
add esp, 0xc
cmp eax, 3
mov dword [ebp + 0x10], eax
push eax
ja 0x1006808
mov eax, dword [0x10092b8]
push dword [ebp + 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe8]
jmp 0x10063c3
call fcn.01005dfe
push reloc.msvcrt.dll_printf
lea ecx, [ebp + 8]
push ecx
push eax
mov dword [ebp + 8], eax
call dword [sym.imp.msvcrt.dll_strtoul]
add esp, 0xc
cmp eax, 3
ja 0x1006807
push dword [ebp + 0x10]
mov ecx, dword [0x10092b8]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0xe8]
jmp 0x10063fe
mov eax, dword [ebp + 8]
cmp byte [eax + 1], 0
jne 0x100671c
mov eax, dword [0x10092b8]
mov ecx, dword [eax]
push 2
push 0x1003728
push 3
push eax
call dword [ecx + 0x108]
jmp 0x10063c3
call fcn.01005dfe
push eax
mov eax, dword [ebp + 8]
movsx eax, byte [eax + 1]
push 0x20
push eax
push 0x1001f24
call fcn.01005806
jmp 0x10063c3
push 0x1003720
push dword [ebp + 8]
call ebx
test eax, eax
pop ecx
pop ecx
je 0x1006818
cmp dword [0x10093b0], 0
jne case.0x10062b6.117
or byte [0x1008081], 8
mov dword [ebp - 4], esi
jmp 0x10063c3
mov eax, dword [0x10092d8]
sub dword [0x10092e0], 4
inc dword [0x10092e4]
mov dword [0x10092dc], eax
jmp 0x100685f
push dword [0x1008088]
push 0x10036f4
jmp 0x1006841
push dword [0x1008088]
push 0x10036d4
jmp 0x1006841
push dword [0x1008088]
push 0x10036b4
jmp 0x1006841
push dword [ebp + 8]
push dword [0x1008088]
push 0x1003698
jmp 0x1006813
call fcn.01005dfe
push eax
push 0x1003688
mov dword [ebp + 8], eax
call fcn.01003aec
mov eax, dword [0x10092c0]
pop ecx
pop ecx
mov ecx, dword [eax]
push 3
push dword [ebp + 8]
push esi
push eax
call dword [ecx + 0x5c]
test eax, eax
je 0x1006800
push dword [ebp + 8]
push 0x1003674
call fcn.01003aec
pop ecx
pop ecx
push 0
call fcn.01003b35
push eax
push dword [0x1008088]
push 0x1003658
call fcn.01003f80
push reloc.msvcrt.dll_printf
lea eax, [ebp + 8]
push eax
call fcn.01005dfe
push eax
call dword [sym.imp.msvcrt.dll_strtoul]
add esp, 0xc
mov esi, eax
push 3
push esi
call 0x1006d9c
test eax, eax
jne 0x1006800
push esi
push 0x1003630
call fcn.01003f80
push dword [ebp + 8]
push dword [0x1008088]
push 0x100360c
call fcn.01003aec
add esp, 0xc
mov dword [ebp - 8], esi
xor ebx, ebx
cmp dword [0x10093b0], ebx
je 0x1006873
cmp dword [0x10092e4], ebx
jle 0x10068a2
jmp 0x100689f
cmp dword [0x10092e4], ebx
jle 0x1006887
mov eax, dword [0x10092dc]
mov dword [0x1009394], eax
jmp 0x10068a2
cmp dword [0x1009380], ebx
jne 0x10068a2
cmp dword [0x1009388], ebx
jne 0x10068a2
cmp dword [0x10093a4], ebx
jne 0x10068a2
mov dword [ebp - 8], esi
cmp dword [ebp - 8], ebx
je 0x10068b2
call fcn.0100587d
push ebx
call fcn.01003f80
pop edi
pop esi
pop ebx
leave
ret 0xc