Function at 0x468a30
Capabilities:
Parse pe header

Disassembly:
mov ecx, dword [esp + 4]
xor eax, eax
push ebx
push esi
mov al, byte [ecx]
push edi
mov edi, eax
lea esi, [edi - 9]
cmp esi, 0x75
ja case.0x468a53.34
mov dl, 4
xor eax, eax
mov al, byte [esi + 0x4690a4]
jmp dword [eax*4 + 0x46903c]
xor edx, edx
mov eax, 1
mov dl, byte [ecx + 1]
test byte [edx + 0x4eed10], al
je 0x468a7b
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test byte [edx + 0x4eed10], 1
jne 0x468a6c
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [ecx], 0x95
ret
cmp byte [ecx + 1], 0x2d
jne 0x468aba
xor edx, edx
mov eax, 2
mov dl, byte [ecx + 2]
test edx, edx
je 0x468aac
cmp edx, 0xa
je 0x468aac
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
jne 0x468a9d
mov edx, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [edx], 0x95
ret
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x57
mov eax, 1
ret
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [ecx], 0x16
pop ebx
ret
mov edx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [edx], 0x17
pop ebx
ret
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 1
mov eax, 1
ret
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [ecx], 0x56
pop ebx
ret
mov edx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [edx], 0x58
pop ebx
ret
cmp byte [ecx + 1], 0x2a
jne 0x468b6a
mov dl, byte [ecx + 2]
test dl, dl
je 0x468b6a
mov eax, 3
and edx, 0xff
cmp edx, 0x2a
jne 0x468b4f
cmp byte [eax + ecx], 0x2f
je 0x468b5b
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x468b5c
inc eax
jmp 0x468b44
inc eax
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [ecx], 0x95
ret
mov edx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [edx], 0x59
pop ebx
ret
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x5a
mov eax, 1
ret
mov edx, dword [esp + 0x14]
xor eax, eax
pop edi
pop esi
mov dword [edx], 0x4c
mov dl, byte [ecx + 1]
cmp dl, 0x3d
pop ebx
sete al
inc eax
ret
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x468bc7
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x4e
mov eax, 2
ret
cmp eax, 0x3e
jne 0x468bdf
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [ecx], 0x4b
pop ebx
ret
cmp eax, 0x3c
jne 0x468bf7
mov edx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [edx], 0x54
pop ebx
ret
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x4f
mov eax, 1
ret
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x468c27
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [ecx], 0x50
pop ebx
ret
cmp eax, 0x3e
jne 0x468c3f
mov edx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [edx], 0x55
pop ebx
ret
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x4d
mov eax, 1
ret
cmp byte [ecx + 1], 0x3d
je 0x468c6b
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [ecx], 0x94
pop ebx
ret
mov edx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [edx], 0x4b
pop ebx
ret
cmp byte [ecx + 1], 0x7c
je 0x468c97
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x53
mov eax, 1
ret
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [ecx], 0x5b
pop ebx
ret
mov edx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [edx], 0x19
pop ebx
ret
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x52
mov eax, 1
ret
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [ecx], 0x5d
pop ebx
ret
xor edx, edx
mov eax, 1
mov dl, byte [ecx + 1]
mov esi, edx
test esi, esi
je 0x468d0e
cmp esi, edi
jne 0x468d02
xor edx, edx
mov dl, byte [ecx + eax + 1]
cmp edx, edi
jne 0x468d0e
inc eax
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
mov esi, edx
test esi, esi
jne 0x468cf3
cmp esi, 0x27
jne 0x468d22
mov ecx, dword [esp + 0x14]
pop edi
pop esi
inc eax
mov dword [ecx], 0x5e
pop ebx
ret
test esi, esi
je 0x468d35
mov edx, dword [esp + 0x14]
pop edi
pop esi
inc eax
mov dword [edx], 0x1a
pop ebx
ret
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [ecx], 0x94
ret
xor eax, eax
mov al, byte [ecx + 1]
test byte [eax + 0x4eed10], dl
jne case.0x468a53.24
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [ecx], 0x76
pop ebx
ret
mov esi, dword [esp + 0x14]
xor ebx, ebx
xor eax, eax
mov dword [esi], 0x81
mov bl, byte [ecx]
test byte [ebx + 0x4eed10], dl
je 0x468d89
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x4eed10], dl
jne 0x468d7b
cmp byte [eax + ecx], 0x2e
jne 0x468db1
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x4eed10], dl
je 0x468dab
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x4eed10], dl
jne 0x468d9d
mov dword [esi], 0x82
mov bl, byte [eax + ecx]
cmp bl, 0x65
je 0x468dbe
cmp bl, 0x45
jne 0x468e14
mov bl, byte [eax + ecx + 1]
mov byte [esp + 0x14], bl
and ebx, 0xff
test byte [ebx + 0x4eed10], dl
jne 0x468df0
mov bl, byte [esp + 0x14]
cmp bl, 0x2b
je 0x468de2
cmp bl, 0x2d
jne 0x468e14
xor ebx, ebx
mov bl, byte [eax + ecx + 2]
test byte [ebx + 0x4eed10], dl
je 0x468e14
add eax, 2
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x4eed10], dl
je 0x468e0e
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x4eed10], dl
jne 0x468e00
mov dword [esi], 0x82
xor edx, edx
mov bl, 0x46
mov dl, byte [eax + ecx]
test byte [edx + 0x4eed10], bl
je 0x469038
inc eax
xor edx, edx
mov dword [esi], 0x94
mov dl, byte [eax + ecx]
test byte [edx + 0x4eed10], bl
jne 0x468e27
pop edi
pop esi
pop ebx
ret
mov edx, edi
mov eax, 1
cmp edx, 0x5d
je 0x468e5a
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x468e5a
inc eax
cmp edx, 0x5d
jne 0x468e4b
mov ecx, dword [esp + 0x14]
sub edx, 0x5d
neg edx
sbb edx, edx
pop edi
and edx, 0x7a
pop esi
add edx, 0x1a
pop ebx
mov dword [ecx], edx
ret
mov edx, dword [esp + 0x14]
xor eax, eax
mov esi, 1
mov dword [edx], 0x85
mov al, byte [ecx + 1]
mov dl, 4
test byte [eax + 0x4eed10], dl
je 0x469036
inc esi
xor eax, eax
mov al, byte [esi + ecx]
test byte [eax + 0x4eed10], dl
jne 0x468e93
mov eax, esi
pop edi
pop esi
pop ebx
ret
xor edx, edx
mov esi, 1
mov dl, byte [ecx + 1]
mov eax, edx
mov dl, 4
test byte [eax + 0x4eed10], dl
je case.0x468a53.13
inc esi
xor eax, eax
mov al, byte [esi + ecx]
test byte [eax + 0x4eed10], dl
jne 0x468ebd
cmp esi, 1
jle case.0x468a53.13
mov ecx, dword [esp + 0x14]
mov eax, esi
pop edi
pop esi
mov dword [ecx], 0x84
pop ebx
ret
mov edi, dword [esp + 0x14]
xor edx, edx
xor esi, esi
mov eax, 1
mov dword [edi], 0x85
mov dl, byte [ecx + 1]
test edx, edx
je 0x468f6c
push ebp
mov bl, 0x46
mov ebp, edx
and ebp, 0xff
test byte [ebp + 0x4eed10], bl
je 0x468f10
inc esi
jmp 0x468f22
cmp edx, 0x28
je 0x468f2e
cmp edx, 0x3a
jne 0x468f63
cmp byte [ecx + eax + 1], 0x3a
jne 0x468f63
inc eax
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x468f63
jmp 0x468efd
test esi, esi
jle 0x468f63
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x468f55
mov ebx, edx
and ebx, 0xff
test byte [ebx + 0x4eed10], 1
jne 0x468f55
cmp edx, 0x29
jne 0x468f32
inc eax
jmp 0x468f63
cmp edx, 0x29
jne 0x468f5d
inc eax
jmp 0x468f63
mov dword [edi], 0x94
test esi, esi
pop ebp
jne 0x469038
mov dword [edi], 0x94
pop edi
pop esi
pop ebx
ret
cmp byte [ecx + 1], 0x27
jne case.0x468a53.34
mov esi, dword [esp + 0x14]
xor edx, edx
mov eax, 2
mov dword [esi], 0x83
mov dl, byte [ecx + 2]
mov edi, edx
mov dl, 8
test byte [edi + 0x4eed10], dl
je 0x468faa
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x4eed10], dl
jne 0x468f9c
cmp byte [eax + ecx], 0x27
jne 0x468fc1
mov edx, eax
and edx, 0x80000001
jns 0x468fbf
dec edx
or edx, 0xfffffffe
inc edx
je 0x468fdc
mov dword [esi], 0x94
mov dl, byte [eax + ecx]
test dl, dl
je 0x468fdc
cmp dl, 0x27
je 0x468fdc
mov dl, byte [eax + ecx + 1]
inc eax
test dl, dl
jne 0x468fce
cmp byte [eax + ecx], 0
je 0x469038
pop edi
pop esi
inc eax
pop ebx
ret
mov al, byte [edi + 0x4eed10]
mov bl, 0x46
test bl, al
jne 0x469006
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x94
mov eax, 1
ret
xor edx, edx
mov esi, 1
mov dl, byte [ecx + 1]
test byte [edx + 0x4eed10], bl
je 0x469026
inc esi
xor eax, eax
mov al, byte [esi + ecx]
test byte [eax + 0x4eed10], bl
jne 0x469018
push esi
push ecx
call fcn.00469120
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword [ecx], eax
mov eax, esi
pop edi
pop esi
pop ebx
ret