Function at 0x41767c
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff00
mov eax, 0x5972dc
call fcn.00568428
mov edx, dword [ebp + 8]
mov cl, byte [edx + 0x3a5]
test cl, cl
je 0x4176c4
mov eax, dword [ebp + 8]
push dword [eax + 0x3a0]
call fcn.00417654
pop ecx
test al, al
je 0x4176c4
mov dl, 1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x37c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x4176d7
xor edx, edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x37c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor edx, edx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp + 8]
mov dl, byte [eax + 0x3a5]
test dl, dl
je 0x417722
push dword [ebp + 8]
call fcn.00407380
pop ecx
push eax
mov ecx, dword [ebp + 8]
push dword [ecx + 0x3a0]
call fcn.00404098
add esp, 8
test al, al
jne 0x417722
mov eax, dword [ebp + 8]
push dword [eax + 0x3a0]
call fcn.00415bf0
pop ecx
test al, al
jne 0x417722
mov dword [ebp - 0x54], 1
push dword [ebp + 8]
call fcn.00407380
pop ecx
push eax
mov edx, dword [ebp + 8]
push dword [edx + 0x3a0]
call fcn.00404098
add esp, 8
test al, al
je 0x41778a
push dword [ebp + 8]
call fcn.00415c3c
pop ecx
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x417766
mov eax, dword [ebp - 0x58]
mov edx, dword [eax + 0x24]
dec edx
jne 0x417766
mov dword [ebp - 0x54], 3
jmp 0x4177b1
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x417781
mov eax, dword [ebp - 0x58]
mov edx, dword [eax + 0x24]
cmp edx, 2
jne 0x417781
mov dword [ebp - 0x54], 5
jmp 0x4177b1
mov dword [ebp - 0x54], 2
jmp 0x4177b1
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0x3a5]
test al, al
je 0x4177b1
mov edx, dword [ebp + 8]
push dword [edx + 0x3a0]
call fcn.00415bf0
pop ecx
test al, al
je 0x4177b1
mov dword [ebp - 0x54], 4
mov ecx, dword [ebp - 0x54]
cmp ecx, 4
jne 0x417868
call fcn.004934c0
cmp al, 5
jne 0x4177dc
push 0x59692a
lea eax, [ebp - 0x100]
push eax
call fcn.0056805c
add esp, 8
jmp 0x4177e3
mov byte [ebp - 0x100], 0
push 0x596932
lea edx, [ebp - 0x100]
push edx
call fcn.00567f80
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x60], ecx
lea eax, [ebp - 0x100]
push eax
push 0
push 4
call sub.KERNEL32.DLL_OpenFileMappingA
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x5c]
test edx, edx
je 0x417829
push 0
push 0
push 0
push 4
push dword [ebp - 0x5c]
call sub.KERNEL32.DLL_MapViewOfFile
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x41784a
mov eax, dword [ebp - 0x60]
mov edx, dword [eax + 0x40]
test edx, edx
je 0x417843
mov dword [ebp - 0x54], 3
jmp 0x41784a
mov dword [ebp - 0x54], 2
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x417859
push dword [ebp - 0x60]
call sub.KERNEL32.DLL_UnmapViewOfFile
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x417868
push dword [ebp - 0x5c]
call sub.KERNEL32.DLL_CloseHandle
mov edx, dword [ebp - 0x54]
test edx, edx
jne 0x4178ac
xor edx, edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x374]
call fcn.005007dc
mov byte [ebp - 0x61], 0
mov byte [ebp - 0x62], 0
xor edx, edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x36c]
call fcn.005007dc
xor edx, edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x368]
call fcn.005007dc
jmp 0x417aba
mov edx, dword [ebp - 0x54]
dec edx
jne 0x417920
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x36c]
mov eax, dword [eax + 0x168]
call fcn.004e4384
mov ecx, eax
xor edx, edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x370]
call fcn.004bae1c
mov word [ebp - 0x40], 8
lea eax, [ebp - 8]
call fcn.00401d9c
mov edx, eax
inc dword [ebp - 0x34]
mov eax, 0xfdc
call fcn.00547f54
lea edx, [ebp - 8]
mov edx, dword [edx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x374]
call fcn.005008ec
dec dword [ebp - 0x34]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0058ff14
mov byte [ebp - 0x62], 0
mov byte [ebp - 0x61], 1
mov ecx, dword [ebp - 0x54]
cmp ecx, 2
je 0x417944
mov eax, dword [ebp - 0x54]
cmp eax, 3
je 0x417944
mov edx, dword [ebp - 0x54]
cmp edx, 4
je 0x417944
mov ecx, dword [ebp - 0x54]
cmp ecx, 5
jne 0x417a7d
mov eax, dword [ebp - 0x54]
cmp eax, 2
je 0x417954
mov edx, dword [ebp - 0x54]
cmp edx, 4
jne 0x4179c2
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x36c]
mov eax, dword [eax + 0x168]
call fcn.004e4384
mov ecx, eax
mov edx, 2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x370]
call fcn.004bae1c
mov word [ebp - 0x40], 0x14
lea eax, [ebp - 0xc]
call fcn.00401d9c
mov edx, eax
inc dword [ebp - 0x34]
mov eax, 0xfdb
call fcn.00547f54
lea edx, [ebp - 0xc]
mov edx, dword [edx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x374]
call fcn.005008ec
dec dword [ebp - 0x34]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0058ff14
jmp 0x417a75
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x36c]
mov eax, dword [eax + 0x168]
call fcn.004e4384
mov ecx, eax
mov edx, 1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x370]
call fcn.004bae1c
mov edx, dword [ebp - 0x54]
cmp edx, 3
jne 0x417a35
mov word [ebp - 0x40], 0x20
lea eax, [ebp - 0x10]
call fcn.00401d9c
mov edx, eax
inc dword [ebp - 0x34]
mov eax, 0xfdd
call fcn.00547f54
lea edx, [ebp - 0x10]
mov edx, dword [edx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x374]
call fcn.005008ec
dec dword [ebp - 0x34]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0058ff14
jmp 0x417a75
mov word [ebp - 0x40], 0x2c
lea eax, [ebp - 0x14]
call fcn.00401d9c
mov edx, eax
inc dword [ebp - 0x34]
mov eax, 0xfde
call fcn.00547f54
lea edx, [ebp - 0x14]
mov edx, dword [edx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x374]
call fcn.005008ec
dec dword [ebp - 0x34]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0058ff14
mov byte [ebp - 0x61], 0
mov byte [ebp - 0x62], 1
mov dl, 1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x36c]
call fcn.005007dc
mov dl, 1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x374]
call fcn.005007dc
mov edx, dword [ebp + 8]
mov cl, byte [edx + 0x3a5]
test cl, cl
jne 0x417aba
mov dl, 1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x368]
call fcn.005007dc
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x36c]
mov edx, dword [eax]
call dword [edx + 0x7c]
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0x3a5]
test al, al
jne 0x417afc
push dword [ebp + 8]
call fcn.00407380
pop ecx
push eax
mov edx, dword [ebp + 8]
push dword [edx + 0x3a0]
call fcn.00406fb0
add esp, 8
cmp al, 1
je 0x417afc
mov byte [ebp - 0x61], 0
mov byte [ebp - 0x62], 0
mov dl, byte [ebp - 0x61]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x380]
call fcn.005007dc
mov dl, byte [ebp - 0x62]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x378]
call fcn.005007dc
mov word [ebp - 0x40], 0x38
lea eax, [ebp - 4]
call fcn.00401d9c
inc dword [ebp - 0x34]
mov word [ebp - 0x40], 0x44
push dword [ebp + 8]
call fcn.00407380
pop ecx
push eax
mov edx, dword [ebp + 8]
push dword [edx + 0x3a0]
call fcn.0040b61c
add esp, 8
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x417c60
mov word [ebp - 0x40], 0x50
lea eax, [ebp - 0x18]
call fcn.00401d9c
inc dword [ebp - 0x34]
mov word [ebp - 0x40], 0x5c
mov edx, dword [ebp - 0x68]
add edx, 0x30
lea eax, [ebp - 4]
call fcn.0058ff44
lea eax, [ebp - 4]
call fcn.0040419c
test al, al
jne 0x417c3f
mov word [ebp - 0x40], 0x68
lea eax, [ebp - 0x1c]
call fcn.00401d9c
mov edx, eax
inc dword [ebp - 0x34]
mov eax, 0xff7
call fcn.00547f54
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x24]
call fcn.00401d9c
push eax
inc dword [ebp - 0x34]
mov edx, 0x596948
lea eax, [ebp - 0x20]
call fcn.0058fc78
inc dword [ebp - 0x34]
lea edx, [ebp - 0x20]
pop ecx
pop eax
call fcn.0058ff6c
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x28]
call fcn.00401d9c
mov ecx, eax
inc dword [ebp - 0x34]
lea edx, [ebp - 4]
pop eax
call fcn.0058ff6c
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x18]
call fcn.0058ff44
dec dword [ebp - 0x34]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.0058ff14
dec dword [ebp - 0x34]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.0058ff14
dec dword [ebp - 0x34]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0058ff14
dec dword [ebp - 0x34]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0058ff14
lea edx, [ebp - 0x18]
lea eax, [ebp - 4]
call fcn.0058ff44
dec dword [ebp - 0x34]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0058ff14
mov word [ebp - 0x40], 0x44
mov word [ebp - 0x40], 0x74
lea eax, [ebp - 0x2c]
call fcn.00401d9c
mov edx, eax
inc dword [ebp - 0x34]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x384]
call fcn.005008bc
lea edx, [ebp - 0x2c]
lea eax, [ebp - 4]
call fcn.00590010
push eax
dec dword [ebp - 0x34]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0058ff14
pop ecx
test cl, cl
je 0x417cb3
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x384]
call fcn.005008ec
mov edx, dword [ebp + 8]
mov cl, byte [edx + 0x3a5]
test cl, cl
je 0x417d6f
mov eax, dword [ebp + 8]
push dword [eax + 0x3a0]
call fcn.00415bf0
pop ecx
test al, al
je 0x417d4f
push dword [ebp + 8]
call fcn.00407380
pop ecx
push eax
mov edx, dword [ebp + 8]
push dword [edx + 0x3a0]
call fcn.00404098
add esp, 8
test al, al
je 0x417d4f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x39c]
mov dl, byte [eax + 0x57]
test dl, dl
jne 0x417d6f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x380]
mov edx, dword [eax + 0x44]
add edx, 0x28
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x39c]
call fcn.00500028
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x380]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x39c]
call fcn.00500004
mov dl, 1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x39c]
call fcn.005007dc
jmp 0x417d6f
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x39c]
mov al, byte [ecx + 0x57]
test al, al
je 0x417d6f
xor edx, edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x39c]
call fcn.005007dc
dec dword [ebp - 0x34]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0058ff14
mov ecx, dword [ebp - 0x50]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret