Function at 0x4174f0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x435c2b
mov eax, dword fs:[0]
push eax
sub esp, 0x180
mov eax, dword [0x443284]
xor eax, esp
mov dword [esp + 0x17c], eax
push ebp
push esi
push edi
mov eax, dword [0x443284]
xor eax, esp
push eax
lea eax, [esp + 0x190]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x1a0]
mov eax, dword [esp + 0x1c0]
mov esi, ecx
mov edi, edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], 0
push 0
push 0x43a36a
mov ecx, ebx
mov dword [esp + 0x1a0], 1
call fcn.00401b50
push 0
push 0x43a36a
mov ecx, esi
call fcn.00401b50
push 0
push 0x43a36a
mov ecx, edi
call fcn.00401b50
push 0
mov edi, 0xf
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], 0
push 0x43a36a
mov ecx, ebp
mov byte [ebp + 4], 0
call fcn.00401b50
cmp dword [esp + 0x1bc], 0x10
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x30], 1
jae 0x4175ca
lea eax, [esp + 0x1a8]
push 6
push eax
call fcn.004205fb
add esp, 8
test eax, eax
jne 0x41792c
sub esp, 0x1c
mov dword [esp + 0x30], esp
mov esi, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0xffffffffffffffff
push eax
lea edx, [esp + 0x1e4]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], eax
push edx
mov byte [ecx + 4], al
call fcn.00401960
call fcn.004120d0
add esp, 0x1c
call fcn.00412dc0
add esp, 0x1c
push pe_nt_image_headers32
mov byte [esp + 0x17], al
lea eax, [esp + 0x89]
push 0
push eax
mov byte [esp + 0x90], 0
call fcn.00424a50
add esp, 0xc
lea ecx, [esp + 0x54]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x1cc]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], 0
push edx
mov byte [ecx + 4], 0
call fcn.00401960
lea esi, [esp + 0x54]
call fcn.004120d0
mov edi, 8
add esp, 0x1c
cmp dword [eax + 0x18], edi
jb 0x417683
mov eax, dword [eax + 4]
jmp 0x417686
add eax, 4
push eax
call fcn.004201a2
add esp, 8
test eax, eax
sete byte [esp + 0x12]
cmp dword [esp + 0x4c], edi
jb 0x4176a9
mov eax, dword [esp + 0x38]
push eax
call fcn.0041f829
add esp, 4
cmp byte [esp + 0x12], 0
je 0x41792c
mov eax, dword [esp + 0x68]
test eax, eax
jle 0x41792c
cmp eax, 0x100
jle 0x41792c
push 0x43bf38
sub esp, 0x1c
lea edx, [esp + 0x1c4]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0040f900
lea esi, [esp + 0x54]
call fcn.004120d0
add esp, 0x1c
cmp dword [eax + 0x18], edi
jb 0x4176fc
mov eax, dword [eax + 4]
jmp 0x4176ff
add eax, 4
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.0041f92f
add esp, 0xc
test eax, eax
lea ecx, [esp + 0x34]
sete byte [esp + 0x12]
call fcn.004018f0
cmp byte [esp + 0x12], 0
je 0x41792c
mov ecx, dword [esp + 0x68]
add ecx, 1
push ecx
call fcn.0041ee32
mov edx, dword [esp + 0x6c]
add esp, 4
add edx, 1
push edx
mov esi, eax
push 0
push esi
mov dword [esp + 0x2c], esi
call fcn.00424a50
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
add esp, 0xc
push eax
push ecx
push 1
push esi
call fcn.004208ab
mov edx, dword [esp + 0x78]
add esp, 0x10
cmp eax, edx
jne 0x417916
xor eax, eax
cmp byte [esp + 0x13], al
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], esi
je 0x4177d1
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi + 0x9c], 0
lea eax, [eax + esi + 0x18]
jne 0x4177a8
cmp dword [eax + 0x80], 0
jne 0x4177a8
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0
jmp 0x4177b2
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 1
mov ecx, dword [esi + 0x3c]
mov eax, dword [eax + 0x84]
lea edi, [eax + ecx + 0xf8]
lea ecx, [ecx + esi + 0xf8]
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], ecx
sub esi, eax
lea esi, [esi + edx - 0x100]
mov ecx, 0x40
lea edi, [esp + 0x84]
lea edx, [esp + 0x84]
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, ebx
call fcn.0040f930
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push ebx
call fcn.0040f900
call fcn.004190c0
mov ecx, dword [esp + 0x84]
sub ecx, dword [esp + 0x40]
add esp, 0x1c
test al, al
je 0x4178ce
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x34]
sub ecx, 0x100
push eax
call fcn.00418660
add esp, 4
mov esi, dword [esp + 0x28]
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov byte [esp + 0x1a4], 2
call fcn.00401960
lea ecx, [esp + 0x34]
mov byte [esp + 0x198], 1
call fcn.00401850
push esi
push ebx
lea edi, [esp + 0x3c]
call fcn.004116d0
add esp, 8
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebp
mov byte [esp + 0x1a4], 3
call fcn.00401960
mov ecx, edi
mov byte [esp + 0x198], 1
call fcn.00401850
cmp dword [esp + 0x1c4], 0
je 0x417912
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x104]
push ecx
mov ecx, esi
call fcn.0040f930
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
push esi
call fcn.0040f900
call fcn.004190c0
add esp, 0x1c
test al, al
jne 0x417912
mov ecx, esi
jmp 0x417908
lea edx, [esp + 0x34]
push edx
mov edx, dword [esp + 0x1c]
call fcn.00418660
add esp, 4
mov ecx, dword [esp + 0x28]
push 0xffffffffffffffff
push 0
push eax
mov byte [esp + 0x1a4], 4
call fcn.00401960
lea ecx, [esp + 0x34]
mov byte [esp + 0x198], 1
call fcn.00401850
mov ecx, ebx
push 0x43a36a
call fcn.0040f930
mov esi, dword [esp + 0x20]
push esi
call fcn.004200a0
mov eax, dword [esp + 0x18]
add esp, 4
push eax
call fcn.00420024
add esp, 4
cmp dword [esp + 0x1bc], 0x10
jb 0x417946
mov ecx, dword [esp + 0x1a8]
push ecx
call fcn.0041f829
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x190]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x17c]
xor ecx, esp
call fcn.0041f134
add esp, 0x18c
ret