Function at 0x432640
Capabilities:
Read file via mapping

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x448d1b
push eax
mov dword fs:[0], esp
sub esp, 0x2ac
xor eax, eax
lea edx, [esp + 0x80]
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov ecx, 5
mov esi, 0x450f60
lea edi, [esp + 0x2c]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x14
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x90]
push ecx
push 0xffff
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
test eax, eax
jne 0x4326ca
xor al, al
jmp 0x4329c9
push 0
push 0
push 0
push 6
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov edx, eax
test edx, edx
mov dword [ebx], edx
jne 0x4326e8
xor al, al
jmp 0x4329c9
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
lea ebp, [esp + 0x1f4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
lea ebp, [ebx + 0xc]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.00432a80
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00432ac0
push 0
mov ecx, ebx
call fcn.00432ac0
lea eax, [esp + 0x1c]
push eax
call fcn.00433370
mov dword [esp + 0x2c8], 0
call fcn.00433360
fstp qword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x38]
push 0x4502d0
push eax
call fcn.0043e121
mov cl, byte [esp + 0x30]
add esp, 4
mov ebp, esp
xor esi, esi
mov dword [esp + 0x24], esp
mov byte [ebp], cl
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
mov ecx, dword [esp + 0x34]
mov eax, dword [0x44a130]
mov edi, ecx
cmp eax, edi
mov dword [esp + 0x20], edi
jae 0x4327b4
mov dword [esp + 0x20], eax
mov edi, eax
lea edx, [esp + 0x2c]
cmp ebp, edx
jne 0x4327d3
push eax
push edi
mov ecx, ebp
call fcn.00405070
push esi
push esi
mov ecx, ebp
call fcn.00405070
jmp 0x43285b
cmp edi, esi
jbe 0x43281f
cmp edi, ecx
jne 0x43281f
mov eax, dword [esp + 0x30]
cmp eax, esi
jne 0x4327e8
mov eax, 0x44a134
cmp byte [eax - 1], 0xfe
jae 0x43281f
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
mov eax, dword [esp + 0x30]
cmp eax, esi
jne 0x432804
mov eax, 0x44a134
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x34]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x38]
mov dword [ebp + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x43285b
push 1
push edi
mov ecx, ebp
call fcn.004051b0
test al, al
je 0x43285b
mov eax, dword [esp + 0x30]
cmp eax, esi
mov esi, 0x44a134
je 0x43283c
mov esi, eax
mov ecx, edi
mov edi, dword [ebp + 4]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, ebp
call fcn.00405190
mov ecx, ebx
call fcn.00432b20
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov ecx, ebx
call fcn.00432ae0
mov ecx, ebx
call fcn.00432a00
mov ecx, ebx
call fcn.00432a70
mov esi, eax
or ecx, 0xffffffff
add esi, 4
xor eax, eax
mov edi, esi
push esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebx, [ecx + esi + 1]
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebp, [ecx + ebx + 1]
or ecx, 0xffffffff
mov edi, ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ecx + ebp + 1]
or ecx, 0xffffffff
mov edi, edx
mov dword [esp + 0x14], edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov al, byte [ecx + edx + 1]
mov byte [esp + 0x18], al
call fcn.00431fa0
push ebx
call fcn.004321a0
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xf4]
mov eax, ecx
mov esi, edi
mov edi, edx
xor edx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xf4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
dec ecx
js 0x432930
mov al, 0x5c
cmp byte [esp + ecx + 0xf4], al
jne 0x432928
inc edx
cmp edx, 4
je 0x432930
dec ecx
jns 0x43291e
mov byte [esp + ecx + 0xf5], 0
lea ecx, [esp + 0xf4]
push ecx
call fcn.00431da0
push ebp
call fcn.004323a0
mov eax, dword [esp + 0x18]
add esp, 8
mov esi, 0x450f5c
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x43297f
test cl, cl
je 0x43297b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x43297f
add eax, 2
add esi, 2
test cl, cl
jne 0x432957
xor eax, eax
jmp 0x432984
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43298c
push 1
jmp 0x43298e
push 0
call fcn.00432460
mov eax, dword [esp + 0x18]
add esp, 4
push eax
call fcn.004325c0
mov ecx, dword [esp + 0x24]
add esp, 4
test ecx, ecx
je 0x4329c7
mov al, byte [ecx - 1]
test al, al
je 0x4329bd
cmp al, 0xff
je 0x4329bd
dec al
mov byte [ecx - 1], al
jmp 0x4329c7
dec ecx
push ecx
call fcn.0043d8b0
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x2bc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2b8
ret