Function at 0x402cf0
Capabilities:
Parse pe header

Disassembly:
mov eax, dword [esp + 4]
cmp eax, 0xffffffff
jne 0x402cff
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x48
jg 0x402de9
je 0x402de3
cmp eax, 0x43
ja case.default.0x4033e6
xor ecx, ecx
mov cl, byte [eax + 0x403490]
jmp dword [ecx*4 + 0x40340c]
xor eax, eax
ret
mov eax, 0xc
ret
mov eax, 0xe
ret
mov eax, 0xf
ret
mov eax, 0x10
ret
mov eax, 0x11
ret
mov eax, 0x12
ret
mov eax, 0x13
ret
mov eax, 0x14
ret
mov eax, 0x15
ret
mov eax, 0x16
ret
mov eax, 0x17
ret
mov eax, 0x18
ret
mov eax, 0x19
ret
mov eax, 0x1a
ret
mov eax, 0x1b
ret
mov eax, 0x1c
ret
mov eax, 0x1d
ret
mov eax, 0x1e
ret
mov eax, 0x1f
ret
mov eax, 0x20
ret
mov eax, 0x21
ret
mov eax, 0x22
ret
mov eax, 0x23
ret
mov eax, 0x24
ret
mov eax, 0x25
ret
mov eax, 0x26
ret
mov eax, 0x27
ret
mov eax, 0x28
ret
mov eax, 0x29
ret
mov eax, 0x2a
ret
mov eax, 0x2b
ret
mov eax, 0x2c
ret
cmp eax, 0x540
jg 0x40311c
je 0x403116
cmp eax, 0x43a
jg 0x402fd1
je 0x402fcb
cmp eax, 0x421
jg 0x402f26
je 0x402f20
cmp eax, 0xb7
jg 0x402e8e
je 0x402e88
add eax, 0xffffffb0
cmp eax, 0x51
ja case.default.0x4033e6
xor edx, edx
mov dl, byte [eax + 0x403508]
jmp dword [edx*4 + 0x4034d4]
mov eax, 0x2d
ret
mov eax, 0x2e
ret
mov eax, 0x2f
ret
mov eax, 0x30
ret
mov eax, 0x31
ret
mov eax, 0x32
ret
mov eax, 0x33
ret
mov eax, 0x34
ret
mov eax, 0x35
ret
mov eax, 0x36
ret
mov eax, 0x37
ret
mov eax, 0x100
ret
mov eax, 0x38
ret
cmp eax, 0x41b
jg 0x402eed
je 0x402ee7
cmp eax, 0x10b
jg 0x402ecd
je 0x402ec7
sub eax, 0xce
je 0x402ec1
sub eax, 2
je 0x402ebb
sub eax, 0x1a
jne case.default.0x4033e6
mov eax, 0x3b
ret
mov eax, 0x3a
ret
mov eax, 0x39
ret
mov eax, 0x3c
ret
sub eax, 0x3ed
je 0x402ee1
dec eax
jne case.default.0x4033e6
mov eax, 0x3e
ret
mov eax, 0x3d
ret
mov eax, 0x56
ret
add eax, 0xfffffbe4
cmp eax, 4
ja case.default.0x4033e6
jmp dword [eax*4 + 0x40355c]
mov eax, 0x57
ret
mov eax, 0x58
ret
mov eax, 0x59
ret
mov eax, 0x5a
ret
mov eax, 0x5b
ret
mov eax, 0x5c
ret
add eax, 0xfffffbde
cmp eax, 0x17
ja case.default.0x4033e6
jmp dword [eax*4 + 0x403570]
mov eax, 0x55
ret
mov eax, 0x6e
ret
mov eax, 0x6f
ret
mov eax, 0x70
ret
mov eax, 0x5d
ret
mov eax, 0x5e
ret
mov eax, 0x5f
ret
mov eax, 0x61
ret
mov eax, 0x63
ret
mov eax, 0x64
ret
mov eax, 0x65
ret
mov eax, 0x66
ret
mov eax, 0x67
ret
mov eax, 0x68
ret
mov eax, 0x69
ret
mov eax, 0x6a
ret
mov eax, 0x6b
ret
mov eax, 0x6c
ret
mov eax, 0x71
ret
mov eax, 0x62
ret
mov eax, 0x60
ret
mov eax, 0x6d
ret
mov eax, 0x72
ret
mov eax, 0x73
ret
mov eax, 0x74
ret
add eax, 0xfffffbaa
cmp eax, 0xe9
ja case.default.0x4033e6
xor ecx, ecx
mov cl, byte [eax + 0x403698]
jmp dword [ecx*4 + 0x4035d0]
mov eax, 0x3f
ret
mov eax, 0x40
ret
mov eax, 0x41
ret
mov eax, 0x42
ret
mov eax, 0x43
ret
mov eax, 0x44
ret
mov eax, 0x45
ret
mov eax, 0x46
ret
mov eax, 0x47
ret
mov eax, 0x48
ret
mov eax, 0x49
ret
mov eax, 0x4a
ret
mov eax, 0x4b
ret
mov eax, 0x4c
ret
mov eax, 0x4d
ret
mov eax, 0x4e
ret
mov eax, 0x4f
ret
mov eax, 0x75
ret
mov eax, 0x76
ret
mov eax, 0x77
ret
mov eax, 0x78
ret
mov eax, 0x79
ret
mov eax, 0x7a
ret
mov eax, 0x7b
ret
mov eax, 0x7c
ret
mov eax, 0x7d
ret
mov eax, 0x7e
ret
mov eax, 0x7f
ret
mov eax, 0x80
ret
mov eax, 0x81
ret
mov eax, 0x82
ret
mov eax, 0x83
ret
mov eax, 0x84
ret
mov eax, 0x85
ret
mov eax, 0x86
ret
mov eax, 0x87
ret
mov eax, 0x88
ret
mov eax, 0x89
ret
mov eax, 0x8a
ret
mov eax, 0x8b
ret
mov eax, 0x8c
ret
mov eax, 0x8d
ret
mov eax, 0x8e
ret
mov eax, 0x8f
ret
mov eax, 0x90
ret
mov eax, 0x91
ret
mov eax, 0x92
ret
mov eax, 0x93
ret
mov eax, 0x94
ret
mov eax, 0x95
ret
cmp eax, 0x2714
jg 0x403294
je 0x40328e
add eax, 0xfffffabf
cmp eax, 0x6e
ja case.default.0x4033e6
xor edx, edx
mov dl, byte [eax + 0x403860]
jmp dword [edx*4 + 0x403784]
mov eax, 0x50
ret
mov eax, 0x51
ret
mov eax, 0x52
ret
mov eax, 0x53
ret
mov eax, 0x96
ret
mov eax, 0x97
ret
mov eax, 0x98
ret
mov eax, 0x99
ret
mov eax, 0x9a
ret
mov eax, 0x9b
ret
mov eax, 0x9c
ret
mov eax, 0x9d
ret
mov eax, 0x9e
ret
mov eax, 0x9f
ret
mov eax, 0xa0
ret
mov eax, 0xa1
ret
mov eax, 0xa2
ret
mov eax, 0xa3
ret
mov eax, 0xa4
ret
mov eax, 0xa5
ret
mov eax, 0xa6
ret
mov eax, 0xa7
ret
mov eax, 0xa8
ret
mov eax, 0xa9
ret
mov eax, 0xaa
ret
mov eax, 0xab
ret
mov eax, 0xac
ret
mov eax, 0xad
ret
mov eax, 0xae
ret
mov eax, 0xaf
ret
mov eax, 0xb0
ret
mov eax, 0xb1
ret
mov eax, 0xb2
ret
mov eax, 0xb3
ret
mov eax, 0xb4
ret
mov eax, 0xb5
ret
mov eax, 0xb6
ret
mov eax, 0xb7
ret
mov eax, 0xb8
ret
mov eax, 0xb9
ret
mov eax, 0xba
ret
mov eax, 0xbb
ret
mov eax, 0xbc
ret
mov eax, 0xbd
ret
mov eax, 0xbe
ret
mov eax, 0xbf
ret
mov eax, 0xc0
ret
mov eax, 0xc1
ret
mov eax, 0xc2
ret
mov eax, 0xc3
ret
mov eax, 0xc4
ret
mov eax, 0xc5
ret
mov eax, 0xc6
ret
mov eax, 0xc7
ret
mov eax, 0xc8
ret
cmp eax, 0x2744
jg 0x40334c
je 0x403346
add eax, 0xffffd8e7
cmp eax, 0x2a
ja case.default.0x4033e6
xor ecx, ecx
mov cl, byte [eax + 0x40392c]
jmp dword [ecx*4 + 0x4038d0]
mov eax, 0xc9
ret
mov eax, 0xca
ret
mov eax, 0xcb
ret
mov eax, 0xcc
ret
mov eax, 0xcd
ret
mov eax, 0xce
ret
mov eax, 0xcf
ret
mov eax, 0xd0
ret
mov eax, 0xd1
ret
mov eax, 0xd2
ret
mov eax, 0xd3
ret
mov eax, 0xd4
ret
mov eax, 0xd5
ret
mov eax, 0xd6
ret
mov eax, 0xd7
ret
mov eax, 0xd8
ret
mov eax, 0xd9
ret
mov eax, 0xda
ret
mov eax, 0xdb
ret
mov eax, 0xdc
ret
mov eax, 0xdd
ret
mov eax, 0xde
ret
mov eax, 0xdf
ret
cmp eax, 0x2775
jg 0x4033dc
je 0x4033d6
add eax, 0xffffd8bb
cmp eax, 0x28
ja case.default.0x4033e6
xor edx, edx
mov dl, byte [eax + 0x40399c]
jmp dword [edx*4 + 0x403958]
mov eax, 0xe0
ret
mov eax, 0xe1
ret
mov eax, 0xe2
ret
mov eax, 0xe3
ret
mov eax, 0xe4
ret
mov eax, 0xe5
ret
mov eax, 0xe6
ret
mov eax, 0xe7
ret
mov eax, 0xe8
ret
mov eax, 0xe9
ret
mov eax, 0xea
ret
mov eax, 0xeb
ret
mov eax, 0xec
ret
mov eax, 0xed
ret
mov eax, 0xee
ret
mov eax, 0xef
ret
mov eax, 0xf0
ret
add eax, 0xffffd507
cmp eax, 3
ja case.default.0x4033e6
jmp dword [eax*4 + 0x4039c8]
mov eax, 0xf1
ret
mov eax, 0xf2
ret
mov eax, 0xf3
ret
mov eax, 0xf4
ret
mov eax, 1
ret