Function at 0x44a648
Capabilities:
Parse pe header

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, 0x64
push edi
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
mov byte [esp], al
push edi
push ebx
call fcn.00402fed
add esp, 8
mov edi, 0x63
mov byte [esp + 1], al
push edi
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
mov byte [esp + 6], al
push edi
push ebx
call fcn.00402fed
add esp, 8
mov edi, 0x72
mov byte [esp + 2], al
push edi
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
mov byte [esp + 5], al
push edi
push ebx
call fcn.00402fed
add esp, 8
mov edi, 0x73
mov byte [esp + 4], al
push edi
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
mov byte [esp + 7], al
push edi
mov dword [esp + 0xc], ebx
push ebx
call fcn.00402fed
add esp, 8
mov byte [esp + 3], al
mov eax, dword [esi + 0x1068]
xor ebx, ebx
mov ebp, 0x95
mov dword [esp + 0xc], 0
push ebx
push ebp
push eax
call fcn.0040312b
add esp, 0xc
mov edi, eax
push ebx
push ebp
push dword [esp + 0x10]
call fcn.0040312b
add esp, 0xc
cmp edi, eax
je 0x44a72c
mov al, 1
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x1068]
inc ebx
cmp ebx, 0x100
jne 0x44a707
mov cl, byte [esp + 1]
mov edi, 0x85
xor byte [esp], cl
push edi
push eax
call fcn.00402fed
add esp, 8
mov ebx, eax
push edi
push dword [esp + 0xc]
call fcn.00402fed
add esp, 8
cmp bl, al
jne 0x44a78d
mov edi, 0x86
push edi
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
mov ebx, eax
push edi
push dword [esp + 0xc]
call fcn.00402fed
add esp, 8
xor al, bl
cmp al, 1
jne 0x44a7f5
cmp dword [esi + 0x109c], 0
je 0x44a7f5
xor ebx, ebx
xor ebp, ebp
xor edi, edi
dec ebx
mov eax, dword [esi + 0x1094]
push dword [eax + ebp + 8]
call fcn.00410c0e
add esp, 4
mov eax, dword [esi + 0x1098]
push dword [eax + ebp + 8]
call fcn.00410c0e
add esp, 4
mov eax, dword [esi + 0x1094]
xor ecx, ecx
inc edi
mov dword [eax + ebp], ebx
mov eax, dword [esi + 0x1094]
mov dword [eax + ebp + 8], ecx
mov eax, dword [esi + 0x1098]
mov dword [eax + ebp], ebx
mov eax, dword [esi + 0x1098]
mov dword [eax + ebp + 8], ecx
add ebp, 0x14
cmp edi, dword [esi + 0x109c]
jb 0x44a79d
mov bl, byte [esp + 6]
xor bl, byte [esp + 2]
push dword [esi + 0x1068]
call fcn.00402ea8
add esp, 4
push dword [esp + 8]
call fcn.00402fb9
add esp, 4
cmp byte [esp], 0
mov dword [esi + 0x1068], eax
je 0x44a83a
push 0x64
push eax
call fcn.00402fed
add esp, 8
mov byte [esi + 0xad], al
mov byte [esi + 0x167], al
mov bh, byte [esp + 5]
xor bh, byte [esp + 4]
test bl, bl
mov bl, byte [esp + 7]
je 0x44a866
push 0x63
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
mov byte [esi + 0xac], al
mov byte [esi + 0x166], al
xor bl, byte [esp + 3]
test bh, bh
je 0x44a8b3
push 0x72
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
mov byte [esi + 0xc6], al
test al, al
movsd xmm0, qword [esi + 0x58]
movsd xmm1, qword [esi + 0x60]
movsd qword [esi + 0x6c], xmm0
movsd qword [esi + 0x74], xmm1
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x7c], ecx
je 0x44a8b3
mov eax, 0x3ffff
and eax, dword [esi + 0x40]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x78], eax
test bl, bl
je 0x44a8cd
push 0x73
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
mov byte [esi + 0xc9], al
test byte [esp + 0xc], 1
je 0x44a8fb
xor edi, edi
push edi
push 0x95
push dword [esi + 0x1068]
call fcn.0040312b
add esp, 0xc
mov word [esi + edi*2 + 0xe40], ax
inc edi
cmp edi, 0x100
jne 0x44a8d6
push 0x48
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
test al, al
je 0x44a91f
xor eax, eax
xor edx, edx
mov ecx, esi
push eax
push eax
call fcn.0044a9bd
add esp, 8
push 0x46
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
test al, al
je 0x44a94b
xor eax, eax
mov dword [esi + 0x144], eax
mov ecx, dword [esi + 0x1058]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x1c]
add esp, 8
push 0x4c
push dword [esi + 0x1068]
call fcn.00402fed
add esp, 8
test al, al
je 0x44a985
mov eax, 0xd800
mov dword [esi + 0x158], eax
mov dword [esi + 0x154], eax
xor eax, eax
mov dword [esi + 0x16c], eax
mov dword [esi + 0xcc], eax
mov byte [esi + 0xd5], 0
push 0x84
push dword [esi + 0x1068]
call fcn.004031d2
add esp, 8
test eax, eax
jne 0x44a9a3
mov ecx, esi
call fcn.0044acae
mov ecx, esi
call fcn.0044ad79
mov ecx, esi
call fcn.0044adc0
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0044a202