Function at 0x41f711
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
lea ebp, [esp - 0x110]
sub esp, 0x190
mov eax, dword [0x44f9f8]
xor eax, ebp
mov dword [ebp + 0x10c], eax
push ebx
push esi
mov esi, dword [ebp + 0x118]
push edi
xor ebx, ebx
push 0x40
lea eax, [ebp + 0xcc]
push ebx
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
call fcn.00419e91
push 0xf8
lea eax, [ebp - 0x2c]
push ebx
push eax
call fcn.00419e91
xor eax, eax
add esp, 0x18
lea edi, [ebp - 0x54]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x4c]
rep stosd dword es:[edi], eax
push ebx
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
xor edi, edi
call fcn.00441c9b
mov ebx, eax
test ebx, ebx
jns 0x41f7a1
push 0x43ca1e
push ebx
call fcn.00442c2b
pop ecx
pop ecx
jmp 0x41fbaa
push 0
push 0x8000080
push 3
push 0
push 1
push 0x80000000
push dword [ebp - 0x64]
call dword [0x4012a0]
mov dword [ebp - 0x58], eax
cmp eax, 0xffffffff
jne 0x41f806
call dword [0x4011d8]
test eax, eax
jle 0x41f7d8
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41f7e3
mov ebx, 0x80004005
push ebx
push 0x44
push 0x43c9e6
call fcn.00442c3f
push dword [ebp - 0x64]
push 0x43c9ba
push ebx
call fcn.00442c2b
add esp, 0xc
jmp 0x41fbaa
mov ebx, dword [0x401284]
push 0
lea eax, [ebp - 0x5c]
push eax
push 0x40
lea eax, [ebp + 0xcc]
push eax
push dword [ebp - 0x58]
call ebx
test eax, eax
jne 0x41f862
call dword [0x4011d8]
test eax, eax
jle 0x41f838
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41f843
mov ebx, 0x80004005
push ebx
push 0x49
push 0x43c9e6
call fcn.00442c3f
push 0x43c99e
push ebx
call fcn.00442c2b
pop ecx
pop ecx
jmp 0x41fba1
cmp dword [ebp - 0x5c], 0x40
jb 0x41f876
mov eax, 0x5a4d
cmp ax, word [ebp + 0xcc]
je 0x41f892
mov esi, 0x8007000d
push esi
push 0x4e
push 0x43c9e6
mov ebx, esi
call fcn.00442c3f
push 0x43c96c
push esi
jmp 0x41f856
mov eax, dword [ebp + 0x108]
push 0
cdq
push 0
push edx
push eax
push dword [ebp - 0x58]
call dword [0x4012a4]
test eax, eax
jne 0x41f8e2
call dword [0x4011d8]
test eax, eax
jle 0x41f8c0
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41f8cb
mov ebx, 0x80004005
push ebx
push 0x59
push 0x43c9e6
call fcn.00442c3f
push 0x43c94e
jmp 0x41f855
push 0
lea eax, [ebp - 0x5c]
push eax
push 0x18
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x58]
call ebx
test eax, eax
jne 0x41f92d
call dword [0x4011d8]
test eax, eax
jle 0x41f90b
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41f916
mov ebx, 0x80004005
push ebx
push 0x5f
push 0x43c9e6
call fcn.00442c3f
push 0x43c934
jmp 0x41f855
cmp dword [ebp - 0x5c], 0x18
jb 0x41f93c
cmp dword [ebp - 0x2c], 0x4550
je 0x41f95a
mov esi, 0x8007000d
push esi
push 0x64
push 0x43c9e6
mov ebx, esi
call fcn.00442c3f
push 0x43c904
jmp 0x41f88f
mov eax, dword [ebp + 0x108]
lea ecx, [eax + 0x58]
mov dword [ebp - 0x7c], ecx
xor ecx, ecx
push ecx
push ecx
add eax, 0x98
push ecx
push eax
push dword [ebp - 0x58]
mov dword [ebp - 0x80], eax
call dword [0x4012a4]
test eax, eax
jne 0x41f9b7
call dword [0x4011d8]
test eax, eax
jle 0x41f995
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41f9a0
mov ebx, 0x80004005
push ebx
push 0x6f
push 0x43c9e6
call fcn.00442c3f
push 0x43c8e4
jmp 0x41f855
push 0
lea eax, [ebp - 0x5c]
push eax
push 4
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x58]
call ebx
test eax, eax
jne 0x41fa02
call dword [0x4011d8]
test eax, eax
jle 0x41f9e0
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41f9eb
mov ebx, 0x80004005
push ebx
push 0x74
push 0x43c9e6
call fcn.00442c3f
push 0x43c8c2
jmp 0x41f855
push 0
lea eax, [ebp - 0x5c]
push eax
push 4
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x58]
call ebx
test eax, eax
jne 0x41fa4d
call dword [0x4011d8]
test eax, eax
jle 0x41fa2b
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41fa36
mov ebx, 0x80004005
push ebx
push 0x79
push 0x43c9e6
call fcn.00442c3f
push 0x43c8a2
jmp 0x41f855
movzx eax, word [ebp - 0x18]
mov ecx, dword [ebp + 0x108]
lea eax, [eax + ecx + 0x18]
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
push dword [ebp - 0x58]
call dword [0x4012a4]
test eax, eax
jne 0x41faa7
call dword [0x4011d8]
test eax, eax
jle 0x41fa82
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41fa8d
mov ebx, 0x80004005
push ebx
push 0x84
push 0x43c9e6
call fcn.00442c3f
push 0x43c87c
jmp 0x41f855
and dword [ebp - 0x68], edi
push 0
lea eax, [ebp - 0x5c]
push eax
push 0x28
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x58]
call ebx
test eax, eax
je 0x41fb0f
mov dword [ebp - 0x60], 1
cmp dword [ebp - 0x5c], 0x28
jb 0x41fb51
push 8
lea eax, [ebp - 0x54]
push 0x43c872
push eax
call fcn.0041a999
add esp, 0xc
test eax, eax
je 0x41fbd4
movzx eax, word [ebp - 0x26]
cmp dword [ebp - 0x60], eax
jae 0x41fb73
inc dword [ebp - 0x68]
inc dword [ebp - 0x60]
push 0
lea eax, [ebp - 0x5c]
push eax
push 0x28
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x58]
call ebx
test eax, eax
jne 0x41fac6
call dword [0x4011d8]
test eax, eax
jle 0x41fb23
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41fb2e
mov ebx, 0x80004005
push ebx
push 0x8d
push 0x43c9e6
call fcn.00442c3f
push dword [ebp - 0x68]
push 0x43c842
push ebx
call fcn.00442c2b
add esp, 0xc
jmp 0x41fba1
mov esi, 0x8007000d
push esi
push 0x92
push 0x43c9e6
mov ebx, esi
call fcn.00442c3f
push dword [ebp - 0x68]
push 0x43c80a
push esi
jmp 0x41fb47
mov esi, 0x8007000d
push esi
push 0xa0
push 0x43c9e6
mov ebx, esi
call fcn.00442c3f
push 0x43c7ec
push esi
cmp dword [ebp - 0x44], 0x34
jae 0x41fbfe
mov esi, 0x8007000d
push esi
push 0xac
push 0x43c9e6
mov ebx, esi
call fcn.00442c3f
push dword [ebp - 0x44]
push 0x43c7bc
jmp 0x41fb70
push 1
push dword [ebp - 0x44]
call fcn.00442ded
mov edi, eax
test edi, edi
jne 0x41fc2d
mov ebx, 0x8007000e
push ebx
push 0xb1
push 0x43c9e6
call fcn.00442c3f
push 0x43c790
jmp 0x41f855
mov eax, dword [ebp - 0x40]
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
push dword [ebp - 0x58]
call dword [0x4012a4]
test eax, eax
jne 0x41fc7d
call dword [0x4011d8]
test eax, eax
jle 0x41fc57
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41fc62
mov ebx, 0x80004005
push ebx
push 0xb7
push 0x43c9e6
call fcn.00442c3f
push 0x43c8e4
mov eax, dword [ebp - 0x40]
add eax, 0x1c
push 0
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x44]
push edi
push dword [ebp - 0x58]
call ebx
test eax, eax
jne 0x41fccf
call dword [0x4011d8]
test eax, eax
jle 0x41fcad
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
test ebx, ebx
js 0x41fcb8
mov ebx, 0x80004005
push ebx
push 0xc0
push 0x43c9e6
call fcn.00442c3f
push 0x43c772
jmp 0x41fc77
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x5c]
jbe 0x41fcf8
mov esi, 0x8007000d
push esi
push 0xc5
push 0x43c9e6
mov ebx, esi
call fcn.00442c3f
push 0x43c74c
jmp 0x41fb8f
cmp dword [edi + 4], 2
je 0x41fd28
mov esi, 0x8007000d
push esi
push 0xcc
push 0x43c9e6
mov ebx, esi
call fcn.00442c3f
push dword [edi + 4]
push 0x43c714
push esi
call fcn.00442c2b
jmp 0x41fdec
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x58]
call fcn.00446a29
mov ebx, eax
test ebx, ebx
jns 0x41fd44
push 0x43c6f0
jmp 0x41fc77
mov eax, dword [edi + 0x18]
mov dword [esi], eax
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x41fd55
mov eax, dword [edi + 0x24]
jmp 0x41fd5f
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x41fd66
mov eax, dword [ebp - 0x6c]
add eax, ecx
mov dword [esi + 4], eax
jmp 0x41fd6e
mov ecx, dword [edi + 0x30]
add ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [ebp - 0x78]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x74]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x80]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x1c], eax
mov eax, dword [edi + 0x20]
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [edi + 0x28]
mov dword [esi + 0x28], eax
mov eax, dword [edi + 0x2c]
sub al, 0x89
inc esi
sub al, 0x6a
add ecx, eax
loopne 0x41fdb1