Function at 0x4a1bc0
Capabilities:
Parse pe header

Disassembly:
push ebp
push esi
mov esi, dword [esp + 0xc]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push str.ACE
lea ebp, [esi + 7]
call edi
push eax
push str.ACE
push ebp
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a1c02
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
pop edi
pop esi
mov dword [eax], 1
mov dword [ecx], 0x454341
pop ebp
ret
push ebx
push str.KGB_arch__
call edi
push eax
push str.KGB_arch__
push esi
call fcn.004dd670
add esp, 0xc
mov bl, 0xd
test eax, eax
jne 0x4a1c2a
cmp byte [esi + 0xb], bl
jne 0x4a1c2a
cmp byte [esi + 0xc], 0xa
je 0x4a1c6b
cmp byte [esi + 4], 1
jne 0x4a1c84
cmp byte [esi + 5], 1
jne 0x4a1c84
cmp byte [esi + 6], 1
jne 0x4a1c84
cmp byte [ebp], 0x10
jne 0x4a1c84
cmp byte [esi + 8], 0x27
jne 0x4a1c84
cmp byte [esi + 9], 1
jne 0x4a1c84
push 0x63e8b4
call edi
push eax
lea edx, [esi + 0x14]
push 0x63e8b4
push edx
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a1c84
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [eax], 1
mov dword [ecx], 0x42474b
pop ebp
ret
push 0x63e8b0
call edi
push eax
push 0x63e8b0
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a1cda
push str.Archive
call edi
push eax
lea edx, [esi + 9]
push str.Archive
push edx
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a1cda
cmp byte [esi + 5], 0x2e
jne 0x4a1cda
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [eax], 1
mov dword [ecx], 0x4f4f5a
pop ebp
ret
cmp byte [esi], 0x42
jne 0x4a1d28
cmp byte [esi + 1], 0x5a
jne 0x4a1d28
cmp byte [esi + 2], 0x68
jne 0x4a1d28
cmp byte [esi + 4], 0x31
jne 0x4a1d28
cmp byte [esi + 5], 0x41
jne 0x4a1d28
mov al, 0x59
cmp byte [esi + 6], al
jne 0x4a1d28
cmp byte [ebp], 0x26
jne 0x4a1d28
cmp byte [esi + 8], 0x53
jne 0x4a1d28
cmp byte [esi + 9], al
jne 0x4a1d28
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [edx], 1
mov dword [eax], 0x325a42
pop ebp
ret
push str.MZ_AVG
call edi
push eax
push str.MZ_AVG
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
je 0x4a246a
cmp byte [esi], 0x50
jne 0x4a1d72
cmp byte [esi + 1], 0x4b
jne 0x4a1d72
push str.ala.2.vgb
call edi
push eax
lea ecx, [esi + 0x1e]
push str.ala.2.vgb
push ecx
call fcn.004dd670
add esp, 0xc
test eax, eax
je 0x4a246a
push str.sega
call edi
push eax
lea edx, [esi + 0x100]
push str.sega
push edx
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a1dd5
cmp byte [esi + 0x110], 0x28
jne 0x4a1dd5
cmp byte [esi + 0x111], 0x43
jne 0x4a1dd5
cmp byte [esi + 0x112], 0x29
jne 0x4a1dd5
cmp byte [esi + 0x17f], 0x20
jne 0x4a1dd5
cmp byte [esi + 0x180], 0x47
jne 0x4a1dd5
cmp byte [esi + 0x181], 0x4d
jne 0x4a1dd5
cmp byte [esi + 0x182], 0x20
je 0x4a246a
cmp byte [esi], 0
jne 0x4a1e0e
cmp byte [esi + 1], 1
jne 0x4a1e0e
cmp byte [esi + 2], 0
jne 0x4a1e0e
cmp byte [esi + 4], 0
jne 0x4a1e0e
cmp byte [esi + 6], 0
jne 0x4a1e0e
cmp byte [esi + 8], 0
jne 0x4a1e0e
mov al, 0x55
cmp byte [esi + 9], al
jne 0x4a1e0e
cmp byte [esi + 0xa], 0
jne 0x4a1e0e
cmp byte [esi + 0xb], al
je 0x4a2451
push str.SCMI
call edi
push eax
push str.SCMI
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a1e38
cmp byte [esi + 0x1e], 0x43
jne 0x4a1e38
cmp byte [esi + 0x1f], 0x4d
je 0x4a2451
cmp byte [esi], 0
jne 0x4a1e71
cmp byte [esi + 1], 1
jne 0x4a1e71
cmp byte [esi + 2], 0
jne 0x4a1e71
cmp byte [esi + 3], 8
jne 0x4a1e71
cmp byte [esi + 4], 0
jne 0x4a1e71
cmp byte [esi + 5], 1
jne 0x4a1e71
cmp byte [esi + 6], 0
jne 0x4a1e71
cmp byte [ebp], 1
jne 0x4a1e71
cmp byte [esi + 8], 1
je 0x4a2451
push str.ANDROID_
call edi
push eax
push str.ANDROID_
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
je 0x4a2451
push 0x63e874
call edi
push eax
push 0x63e874
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
je 0x4a2451
mov al, byte [esi]
cmp al, 0xfb
jne 0x4a1ebd
cmp byte [esi + 1], 0x20
je 0x4a2451
test al, al
jne 0x4a1f22
cmp byte [esi + 1], al
jne 0x4a1f22
cmp byte [esi + 2], al
jne 0x4a1f22
cmp byte [esi + 3], al
jne 0x4a1f22
cmp byte [esi + 4], al
jne 0x4a1f22
cmp byte [esi + 5], al
jne 0x4a1f22
cmp byte [esi + 6], al
jne 0x4a1f22
cmp byte [ebp], al
jne 0x4a1f22
push str.DSKIMG
call edi
push eax
lea eax, [esi + 0x10]
push str.DSKIMG
push eax
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a1f22
push str..GARMIN
call edi
push eax
lea ecx, [esi + 0x40]
push str..GARMIN
push ecx
call fcn.004dd670
add esp, 0xc
test eax, eax
je 0x4a2451
push str.LinS
call edi
push eax
push str.LinS
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a1fe6
cmp byte [esi], 1
jne 0x4a1fe6
cmp byte [esi + 1], al
jne 0x4a1fe6
cmp byte [esi + 2], 1
jne 0x4a1fe6
cmp byte [esi + 3], al
jne 0x4a1fe6
cmp byte [esi + 4], 1
jne 0x4a1fe6
cmp byte [esi + 5], al
jne 0x4a1fe6
cmp byte [esi + 6], 1
jne 0x4a1fe6
cmp byte [ebp], al
jne 0x4a1fe6
cmp byte [esi + 8], al
jne 0x4a1fe6
cmp byte [esi + 9], al
jne 0x4a1fe6
cmp byte [esi + 0xa], al
jne 0x4a1fe6
cmp byte [esi + 0xb], al
jne 0x4a1fe6
cmp byte [esi + 0xc], al
jne 0x4a1fe6
cmp byte [esi + 0xd], al
jne 0x4a1fe6
cmp byte [esi + 0xe], al
jne 0x4a1fe6
cmp byte [esi + 0xf], al
jne 0x4a1fe6
cmp byte [esi + 0x10], 0xb2
jne 0x4a1fe6
cmp byte [esi + 0x11], 0x3a
jne 0x4a1fe6
cmp byte [esi + 0x12], al
jne 0x4a1fe6
cmp byte [esi + 0x13], al
jne 0x4a1fe6
cmp byte [esi + 0x14], al
jne 0x4a1fe6
cmp byte [esi + 0x15], al
jne 0x4a1fe6
cmp byte [esi + 0x16], al
jne 0x4a1fe6
cmp byte [esi + 0x17], al
jne 0x4a1fe6
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [edx], 1
mov dword [eax], 0x50534d
pop ebp
ret
push str.CIRCAD_VERSION
call edi
push eax
push str.CIRCAD_VERSION
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a201d
push str.____SOURCE_LIBRARY_FILE
call edi
push eax
lea ecx, [esi + 0x12]
push str.____SOURCE_LIBRARY_FILE
push ecx
call fcn.004dd670
add esp, 0xc
test eax, eax
je 0x4a2059
cmp byte [esi], 0xf0
jne 0x4a203f
cmp byte [esi + 1], bl
jne 0x4a203f
cmp byte [esi + 2], 0
jne 0x4a203f
cmp byte [esi + 3], 0
jne 0x4a203f
cmp byte [esi + 6], 0
jne 0x4a203f
cmp byte [esi + 8], 0
je 0x4a2059
push str._PSpice_Model_Editor___Version
call edi
push eax
push str._PSpice_Model_Editor___Version
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x4a2072
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [edx], 1
mov dword [eax], 0x42494c
pop ebp
ret
mov bl, byte [esi]
cmp bl, 0xcf
jne 0x4a20da
cmp byte [esi + 1], 0xad
jne 0x4a20da
cmp byte [esi + 2], 0x12
jne 0x4a20da
cmp byte [esi + 3], 0xfe
jne 0x4a20da
cmp byte [esi + 0xb], 0x11
jne 0x4a20da
cmp byte [esi + 0xe], 0
jne 0x4a20da
cmp byte [esi + 0x15], 0
jne 0x4a20da
cmp byte [esi + 0x16], 0
jne 0x4a20da
cmp byte [esi + 0x17], 0
jne 0x4a20da
cmp byte [esi + 0x18], 5
jne 0x4a20da
cmp byte [esi + 0x19], 0
jne 0x4a20da
cmp byte [esi + 0x1a], 0
jne 0x4a20da
cmp byte [esi + 0x1b], 0
jne 0x4a20da
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [ecx], 1
mov dword [edx], 0x584244
pop ebp
ret
cmp bl, 0x21
jne 0x4a219a
cmp byte [esi + 1], 0x3c
jne 0x4a219a
cmp byte [esi + 2], 0x61
jne 0x4a219a
cmp byte [esi + 3], 0x72
jne 0x4a219a
cmp byte [esi + 4], 0x63
jne 0x4a219a
cmp byte [esi + 5], 0x68
jne 0x4a219a
cmp byte [esi + 6], 0x3e
jne 0x4a219a
cmp byte [ebp], 0xa
jne 0x4a219a
cmp byte [esi + 8], 0x64
jne 0x4a219a
cmp byte [esi + 9], 0x65
jne 0x4a219a
mov dl, 0x62
cmp byte [esi + 0xa], dl
jne 0x4a219a
mov cl, 0x69
cmp byte [esi + 0xb], cl
jne 0x4a219a
cmp byte [esi + 0xc], 0x61
jne 0x4a219a
mov al, 0x6e
cmp byte [esi + 0xd], al
jne 0x4a219a
cmp byte [esi + 0xe], 0x2d
jne 0x4a219a
cmp byte [esi + 0xf], dl
jne 0x4a219a
cmp byte [esi + 0x10], cl
jne 0x4a219a
cmp byte [esi + 0x11], al
jne 0x4a219a
cmp byte [esi + 0x12], 0x61
jne 0x4a219a
cmp byte [esi + 0x13], 0x72
jne 0x4a219a
cmp byte [esi + 0x14], 0x79
jne 0x4a219a
cmp byte [esi + 0x15], 0x20
jne 0x4a219a
cmp byte [esi + 0x16], 0x20
jne 0x4a219a
cmp byte [esi + 0x17], 0x20
jne 0x4a219a
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [eax], 1
mov dword [ecx], 0x424544
pop ebp
ret
cmp bl, 0x4c
jne 0x4a21b1
cmp byte [esi + 1], 0x4e
jne 0x4a21b1
cmp byte [esi + 5], 0x2e
jne 0x4a21b1
cmp byte [esi + 6], 0x3a
je 0x4a21fb
mov al, 0xff
cmp bl, 0x3f
jne 0x4a21d8
cmp byte [esi + 1], 0x5f
jne 0x4a21d8
cmp byte [ebp], 0
jne 0x4a21d8
cmp byte [esi + 8], al
jne 0x4a21d8
cmp byte [esi + 9], al
jne 0x4a21d8
cmp byte [esi + 0xa], al
jne 0x4a21d8
cmp byte [esi + 0xb], al
je 0x4a21fb
cmp byte [esi + 5], 1
jne 0x4a2214
cmp byte [esi + 6], al
jne 0x4a2214
cmp byte [ebp], al
jne 0x4a2214
cmp byte [esi + 9], al
jne 0x4a2214
cmp byte [esi + 0xd], al
jne 0x4a2214
cmp byte [esi + 0x145], 0
jne 0x4a2214
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [edx], 1
mov dword [eax], 0x504c48
pop ebp
ret
push str.QLIT
call edi
push eax
push str.QLIT
push esi
call fcn.004dd670
add esp, 0xc
test eax, eax
je 0x4a2438
push str.ITOLITLS
call edi
push eax
push str.ITOLITLS
push esi
call fcn.004dd670
add esp, 0xc
mov cl, 0x54
mov dl, 0x49
test eax, eax
jne 0x4a22a5
cmp byte [esi + 0x26], 0x57
jne 0x4a22a5
cmp byte [esi + 0x27], cl
jne 0x4a22a5
cmp byte [esi + 0x110], 0x43
jne 0x4a22a5
cmp byte [esi + 0x111], 0x41
jne 0x4a22a5
cmp byte [esi + 0x112], 0x4f
jne 0x4a22a5
cmp byte [esi + 0x113], 0x4c
jne 0x4a22a5
cmp byte [esi + 0x140], dl
jne 0x4a22a5
cmp byte [esi + 0x141], cl
jne 0x4a22a5
cmp byte [esi + 0x142], 0x53
jne 0x4a22a5
cmp byte [esi + 0x143], 0x46
je 0x4a2438
mov al, byte [esi]
cmp al, 0x53
jne 0x4a22fe
cmp byte [esi + 1], dl
jne 0x4a22fe
cmp byte [esi + 2], cl
jne 0x4a22fe
cmp byte [esi + 3], 0x21
jne 0x4a22fe
cmp byte [esi + 4], 0
jne 0x4a22fe
cmp byte [esi + 6], 0
jne 0x4a22fe
cmp byte [esi + 0xa], 0x72
jne 0x4a22fe
cmp byte [esi + 0xb], 0x4c
jne 0x4a22fe
cmp byte [esi + 0xc], 0x61
jne 0x4a22fe
cmp byte [esi + 0xd], 0x75
jne 0x4a22fe
cmp byte [esi + 0xe], 2
jne 0x4a22fe
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [ecx], 1
mov dword [edx], 0x544953
pop ebp
ret
test al, al
jne 0x4a235e
push str.APPLaust_
call fcn.004dd6c0
push eax
lea eax, [esi + 0x41]
push str.APPLaust_
push eax
call fcn.004dd670
add esp, 0x10
test eax, eax
jne 0x4a235e
push str.StuffIt
call fcn.004dd6c0
push eax
lea ecx, [esi + 0x80]
push str.StuffIt
push ecx
call fcn.004dd670
add esp, 0x10
test eax, eax
jne 0x4a235e
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [edx], 1
mov dword [eax], 0x414553
pop ebp
ret
cmp byte [esi], 0x4d
jne 0x4a247e
cmp byte [esi + 1], 0x5a
jne 0x4a247e
cmp byte [esi + 0x3b], 0
jne 0x4a247e
cmp byte [esi + 0x3c], 0x40
jne 0x4a247e
cmp byte [esi + 0x3d], 0
jne 0x4a247e
cmp byte [esi + 0x3e], 0
jne 0x4a247e
cmp byte [esi + 0x3f], 0
jne 0x4a247e
cmp byte [esi + 0x40], 0x50
jne 0x4a247e
cmp byte [esi + 0x41], 0x45
jne 0x4a247e
cmp byte [esi + 0x42], 0
jne 0x4a247e
cmp byte [esi + 0x43], 0
jne 0x4a247e
cmp byte [esi + 0x44], 0x4c
jne 0x4a247e
push str.rsrc
call fcn.004dd6c0
push eax
lea ecx, [esi + 0x139]
push str.rsrc
push ecx
call fcn.004dd670
add esp, 0x10
test eax, eax
jne 0x4a247e
push str._.its
call fcn.004dd6c0
push eax
push str._.its
add esi, 0x15f
push esi
call fcn.004dd670
add esp, 0x10
test eax, eax
jne 0x4a247e
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [edx], 1
mov dword [eax], 0x535848
pop ebp
ret
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [ecx], 1
mov dword [edx], 0x54494c
pop ebp
ret
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
pop ebx
pop edi
pop esi
mov dword [eax], 1
mov dword [ecx], 0x474d49
pop ebp
ret
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov dword [edx], 1
mov dword [eax], 0x4e4942
pop ebx
pop edi
pop esi
pop ebp
ret