Function at 0x416869
Capabilities:
Parse pe header

Disassembly:
sub esp, 0x44
push 0x100
call 0x416766
add byte [eax], dh
add dword [eax], eax
add byte [eax], al
inc eax
add dword [eax], eax
and al, 2
add byte [eax], al
inc eax
add byte [eax], al
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
rol dword [ecx], 1
add byte [eax], al
inc ebx
cmp bl, byte [ebp + edx*2 + 0x73]
jb 0x416909
pop esp
inc ecx
insd dword es:[edi], dx
imul ebp, dword [esi + 0x5c], 0x44707041
popal
je 0x416905
pop esp
dec esp
outsd dx, dword [esi]
arpl word [ecx + 0x6c], sp
pop esp
push esp
insd dword es:[edi], dx
jo 0x41690c
aaa
xor byte [ebp + 0x36], ah
popal
xor eax, 0x32313634
arpl word [ecx], si
xor byte [ecx], bh
xor eax, 0x66353262
popal
bound esp, qword [ebp + 0x64]
cmp byte [eax], dh
xor byte [ecx], bh
xor al, 0x31
cmp dword [eax], esi
xor esi, dword [ecx]
xor al, 0x63
xor eax, 0x31656632
popal
xor esi, dword gs:[esi + esi]
cmp dword [ecx + edi + 0x64], esp
xor dword [eax], esi
bound esp, qword [esi + 0x31]
arpl word gs:[esi + 0x39], sp
xor bh, byte [ecx]
js 0x416959
add byte [eax], ch
inc ecx
add byte [ebx], dh
call dword [edi - 1]
adc eax, sym.imp.KERNEL32.dll_GetModuleHandleA
cmp word [eax], 0x5a4d
pop edx
jne 0x416927
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
dec eax
cmp al, 3
enter 0x3981, 0x50
inc ebp
add byte [eax], al
jne 0x416927
movzx eax, word [ecx + 0x18]
cmp eax, 0x10b
je 0x41693f
cmp eax, 0x20b
je 0x41692c
mov dword [ebp - 0x1c], edi
jmp 0x416953
cmp dword [ecx + 0x84], 0xe
jbe 0x416927
xor eax, eax
cmp dword [ecx + 0xf8], edi
jmp 0x41694d
cmp dword [ecx + 0x74], 0xe
jbe 0x416927
xor eax, eax
cmp dword [ecx + 0xe8], edi
setne al
mov dword [ebp - 0x1c], eax
push edi
call 0x417d24
pop ecx
test eax, eax
jne 0x41697f
cmp dword [0x412850], 2
je 0x41696c
call fcn.004196dc
push 0x1c
call fcn.00419565
push 0xff
call fcn.004159f1
pop ecx
pop ecx
call 0x418954
mov dword [ebp - 4], edi
call fcn.00416a55
test eax, eax
jge 0x416998
push 0x1b
call 0x416869
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [0x412d80], eax
call fcn.00419b5b
mov dword [0x412848], eax
call fcn.00419ab9
test eax, eax
jge 0x4169be
push 8
call 0x416869
pop ecx
call fcn.00419886
test eax, eax
jge 0x4169cf
push 9
call 0x416869
pop ecx
push 1
call fcn.00415a21
pop ecx
mov dword [ebp - 0x24], eax
cmp eax, edi
je 0x4169e5
push eax
call 0x416869
pop ecx
mov eax, dword [0x412818]
mov dword [0x41281c], eax
push eax
push dword [0x412810]
push dword [0x41280c]
call 0x4122af
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x1c], edi
jne 0x416a14
push esi
call fcn.00415b4c
call fcn.00415b6e
jmp 0x416a46
or dword [ebp - 4], 0xffffffff
mov eax, esi
lea esp, [ebp - 0x34]
call fcn.00419cba
ret