Function at 0x40a55f
Capabilities:
Parse pe header

Disassembly:
push ebx
mov ebx, dword [esp + 8]
push ebp
mov ebp, dword [esp + 0x10]
push esi
lea ecx, [edx - 0x100]
push edi
xor esi, esi
mov edi, eax
mov eax, dword [ebx + 0x280]
cmp ecx, 6
ja case.0x40a295.257
jmp dword [ecx*4 + 0x40a79c]
mov eax, ebx
mov dword [eax + 0x800], esi
call fcn.004062c0
mov ebx, eax
lea eax, [edi - 3]
cmp eax, 0xbc
ja case.0x40a2c0.4
movzx ecx, byte [eax + 0x40a854]
jmp dword [ecx*4 + 0x40a7b8]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x800], 1
mov esi, 0x17
jmp case.0x40a2c0.4
mov eax, dword [esp + 0x14]
mov dword [eax + 0x800], 1
mov esi, 0x18
jmp case.0x40a2c0.4
mov eax, dword [esp + 0x14]
mov dword [eax + 0x800], 1
cmp dword [eax + 0x810], esi
je 0x40a320
test bl, 4
je 0x40a320
mov ecx, eax
mov ecx, dword [ecx]
call fcn.004086e0
jmp case.0x40a2c0.4
mov esi, 0x1a
test ebp, 0x1000000
je case.0x40a2c0.4
or ebx, 8
jmp case.0x40a2c0.4
mov edx, dword [esp + 0x14]
mov dword [edx + 0x800], 1
mov esi, 0x19
jmp case.0x40a2c0.4
mov esi, 0x13
test ebp, 0x1000000
jne case.0x40a2c0.4
cmp ebx, 4
je 0x40a520
cmp ebx, 0x10
je 0x40a520
or ebx, 8
jmp case.0x40a2c0.4
mov esi, 0x14
jmp 0x40a356
mov esi, 0x12
jmp 0x40a356
mov esi, 0x11
jmp 0x40a356
mov esi, 0xf
jmp 0x40a356
mov esi, 0xd
jmp 0x40a356
mov esi, 0x10
jmp 0x40a356
mov esi, 0xe
jmp 0x40a356
mov esi, 0x15
jmp 0x40a356
mov esi, 0x16
test ebp, 0x1000000
jne case.0x40a2c0.4
or ebx, 8
jmp case.0x40a2c0.4
mov esi, 1
jmp case.0x40a2c0.4
mov esi, 2
jmp case.0x40a2c0.4
mov esi, 3
jmp case.0x40a2c0.4
mov esi, 4
jmp case.0x40a2c0.4
mov esi, 5
jmp case.0x40a2c0.4
mov esi, 6
jmp case.0x40a2c0.4
mov esi, 7
jmp case.0x40a2c0.4
mov esi, 8
jmp case.0x40a2c0.4
mov esi, 9
jmp case.0x40a2c0.4
mov esi, 0xa
jmp case.0x40a2c0.4
mov esi, 0xb
jmp case.0x40a2c0.4
mov esi, 0xc
jmp case.0x40a2c0.4
mov esi, 0x1c
jmp case.0x40a2c0.4
test ebp, 0x1000000
je case.0x40a2c0.4
or ebx, 2
mov eax, dword [esp + 0x14]
mov dword [eax + 0x800], 1
mov esi, 0x1d
jmp case.0x40a2c0.4
mov esi, 0x1b
jmp 0x40a356
test bl, 2
je 0x40a49e
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x800], 1
lea esi, [edi - 0x30]
or ebx, 8
jmp case.0x40a2c0.4
cmp ebx, 4
je 0x40a4a8
cmp ebx, 0x10
jne 0x40a4aa
xor ebx, ebx
or ebx, 8
jmp case.0x40a2c0.4
or ebx, 8
test bl, 2
je case.0x40a2c0.4
mov edx, dword [esp + 0x14]
mov dword [edx + 0x800], 1
mov esi, 0x2e
jmp case.0x40a2c0.4
or ebx, 8
test bl, 2
je case.0x40a2c0.4
mov esi, 0x2f
jmp case.0x40a2c0.4
or ebx, 8
test bl, 2
je case.0x40a2c0.4
mov esi, 0x2a
jmp case.0x40a2c0.4
or ebx, 8
test bl, 2
je case.0x40a2c0.4
mov esi, 0x2d
jmp case.0x40a2c0.4
or ebx, 8
test bl, 2
je case.0x40a2c0.4
mov esi, 0x2b
jmp case.0x40a2c0.4
test bl, 2
je case.0x40a2c0.4
test bl, 1
je case.0x40a2c0.4
mov esi, 0x3f
jmp case.0x40a2c0.4
mov esi, 0x454
jmp case.0x40a2c0.4
xor esi, esi
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax + 0x280], ebx
test esi, esi
je case.0x40a295.257
test bl, 0x10
je 0x40a541
and ebx, 0xffffffef
or ebx, 4
and ebx, 0xff
or ebx, 0x4100
and esi, 0xffff
shl ebx, 0x10
or ebx, esi
mov esi, ebx
jmp 0x40a785
test al, 2
je 0x40a567
test al, 4
jne 0x40a56b
test al, 0x10
je 0x40a578
and eax, 0xffffffe9
test al, 0x10
je 0x40a578
and eax, 0xffffffef
or eax, 4
cmp dword [ebx + 0x800], esi
jne 0x40a77b
mov ecx, edi
test al, 2
je 0x40a5b0
test edi, edi
jl 0x40a5b0
cmp edi, 0x20
jge 0x40a5b0
and eax, 0xff
or eax, 0x4100
add edi, 0x40
shl eax, 0x10
and edi, 0xffff
or eax, edi
jmp 0x40a779
cmp edx, 0x106
jne case.0x40a5d9.12
test al, 4
je case.0x40a5d9.12
shr ebp, 0x10
and ebp, 0xff
lea edx, [ebp - 2]
cmp edx, 0x30
ja case.0x40a5d9.12
jmp dword [edx*4 + 0x40a914]
mov ecx, 0x31
and ecx, 0xffff
test al, 6
je 0x40a76a
and eax, 0xff
or eax, 0x4100
jmp 0x40a774
mov ecx, 0x32
jmp 0x40a5e5
mov ecx, 0x33
jmp 0x40a5e5
mov ecx, 0x34
jmp 0x40a5e5
mov ecx, 0x35
jmp 0x40a5e5
mov ecx, 0x36
jmp 0x40a5e5
mov ecx, 0x37
jmp 0x40a5e5
mov ecx, 0x38
jmp 0x40a5e5
mov ecx, 0x39
jmp 0x40a5e5
mov ecx, 0x30
jmp 0x40a5e5
mov ecx, 0x3d
jmp 0x40a5e5
mov ecx, 0x17
jmp 0x40a5e5
mov ecx, 0x51
jmp 0x40a5e5
mov ecx, 0x57
jmp 0x40a5e5
mov ecx, 0x45
jmp 0x40a5e5
mov ecx, 0x52
jmp 0x40a5e5
mov ecx, 0x54
jmp 0x40a5e5
mov ecx, 0x59
jmp 0x40a5e5
mov ecx, 0x55
jmp 0x40a5e5
mov ecx, 0x49
jmp 0x40a5e5
mov ecx, 0x4f
jmp 0x40a5e5
mov ecx, 0x50
jmp 0x40a5e5
mov ecx, 0x41
jmp 0x40a5e5
mov ecx, 0x53
jmp 0x40a5e5
mov ecx, 0x44
jmp 0x40a5e5
mov ecx, 0x46
jmp 0x40a5e5
mov ecx, 0x47
jmp 0x40a5e5
mov ecx, 0x48
jmp 0x40a5e5
mov ecx, 0x4a
jmp 0x40a5e5
mov ecx, 0x4b
jmp 0x40a5e5
mov ecx, 0x4c
jmp 0x40a5e5
mov ecx, 0x5a
jmp 0x40a5e5
mov ecx, 0x58
jmp 0x40a5e5
mov ecx, 0x43
jmp 0x40a5e5
mov ecx, 0x56
jmp 0x40a5e5
mov ecx, 0x42
jmp 0x40a5e5
mov ecx, 0x4e
jmp 0x40a5e5
mov ecx, 0x4d
jmp 0x40a5e5
cmp edi, 0x7f
jl 0x40a5e5
and eax, 0xff
or eax, 0x4300
shl eax, 0x10
and edi, 0xffff
or eax, edi
jmp 0x40a779
and eax, 0xff
or eax, 0x4200
shl eax, 0x10
or eax, ecx
mov esi, eax
mov dword [ebx + 0x800], 0
test esi, esi
je case.0x40a295.257
mov eax, dword [esp + 0x14]
call fcn.00405d40
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret