Function at 0x42e8d0
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.0x42e8f3.34
mov dl, 4
xor eax, eax
mov al, byte [esi + 0x42ef3c]
jmp dword [eax*4 + 0x42eed4]
xor edx, edx
mov eax, 1
mov dl, byte [ecx + 1]
test byte [edx + 0x466538], al
je 0x42e91b
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test byte [edx + 0x466538], 1
jne 0x42e90c
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [ecx], 0x95
ret
cmp byte [ecx + 1], 0x2d
jne 0x42e95a
xor edx, edx
mov eax, 2
mov dl, byte [ecx + 2]
test edx, edx
je 0x42e94c
cmp edx, 0xa
je 0x42e94c
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
jne 0x42e93d
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 0x42ea0a
mov dl, byte [ecx + 2]
test dl, dl
je 0x42ea0a
mov eax, 3
and edx, 0xff
cmp edx, 0x2a
jne 0x42e9ef
cmp byte [eax + ecx], 0x2f
je 0x42e9fb
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x42e9fc
inc eax
jmp 0x42e9e4
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 0x42ea67
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x4e
mov eax, 2
ret
cmp eax, 0x3e
jne 0x42ea7f
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [ecx], 0x4b
pop ebx
ret
cmp eax, 0x3c
jne 0x42ea97
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 0x42eac7
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [ecx], 0x50
pop ebx
ret
cmp eax, 0x3e
jne 0x42eadf
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 0x42eb0b
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 0x42eb37
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 0x42ebae
cmp esi, edi
jne 0x42eba2
xor edx, edx
mov dl, byte [ecx + eax + 1]
cmp edx, edi
jne 0x42ebae
inc eax
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
mov esi, edx
test esi, esi
jne 0x42eb93
cmp esi, 0x27
jne 0x42ebc2
mov ecx, dword [esp + 0x14]
pop edi
pop esi
inc eax
mov dword [ecx], 0x5e
pop ebx
ret
test esi, esi
je 0x42ebd5
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 + 0x466538], dl
jne case.0x42e8f3.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 + 0x466538], dl
je 0x42ec29
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x466538], dl
jne 0x42ec1b
cmp byte [eax + ecx], 0x2e
jne 0x42ec51
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x466538], dl
je 0x42ec4b
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x466538], dl
jne 0x42ec3d
mov dword [esi], 0x82
mov bl, byte [eax + ecx]
cmp bl, 0x65
je 0x42ec5e
cmp bl, 0x45
jne 0x42ecb4
mov bl, byte [eax + ecx + 1]
mov byte [esp + 0x14], bl
and ebx, 0xff
test byte [ebx + 0x466538], dl
jne 0x42ec90
mov bl, byte [esp + 0x14]
cmp bl, 0x2b
je 0x42ec82
cmp bl, 0x2d
jne 0x42ecb4
xor ebx, ebx
mov bl, byte [eax + ecx + 2]
test byte [ebx + 0x466538], dl
je 0x42ecb4
add eax, 2
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x466538], dl
je 0x42ecae
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x466538], dl
jne 0x42eca0
mov dword [esi], 0x82
xor edx, edx
mov bl, 0x46
mov dl, byte [eax + ecx]
test byte [edx + 0x466538], bl
je 0x42eece
inc eax
xor edx, edx
mov dword [esi], 0x94
mov dl, byte [eax + ecx]
test byte [edx + 0x466538], bl
jne 0x42ecc7
pop edi
pop esi
pop ebx
ret
mov edx, edi
mov eax, 1
cmp edx, 0x5d
je 0x42ecfa
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x42ecfa
inc eax
cmp edx, 0x5d
jne 0x42eceb
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 + 0x466538], dl
je 0x42eecc
inc esi
xor eax, eax
mov al, byte [esi + ecx]
test byte [eax + 0x466538], dl
jne 0x42ed33
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 + 0x466538], dl
je case.0x42e8f3.13
inc esi
xor eax, eax
mov al, byte [esi + ecx]
test byte [eax + 0x466538], dl
jne 0x42ed5d
cmp esi, 1
jle case.0x42e8f3.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 0x42ee0c
push ebp
mov bl, 0x46
mov ebp, edx
and ebp, 0xff
test byte [ebp + 0x466538], bl
je 0x42edb0
inc esi
jmp 0x42edc2
cmp edx, 0x28
je 0x42edce
cmp edx, 0x3a
jne 0x42ee03
cmp byte [ecx + eax + 1], 0x3a
jne 0x42ee03
inc eax
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x42ee03
jmp 0x42ed9d
test esi, esi
jle 0x42ee03
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x42edf5
mov ebx, edx
and ebx, 0xff
test byte [ebx + 0x466538], 1
jne 0x42edf5
cmp edx, 0x29
jne 0x42edd2
inc eax
jmp 0x42ee03
cmp edx, 0x29
jne 0x42edfd
inc eax
jmp 0x42ee03
mov dword [edi], 0x94
test esi, esi
pop ebp
jne 0x42eece
mov dword [edi], 0x94
pop edi
pop esi
pop ebx
ret
cmp byte [ecx + 1], 0x27
jne case.0x42e8f3.34
mov esi, dword [esp + 0x14]
xor edx, edx
mov eax, 2
mov dword [esi], 0x83
mov dl, byte [ecx + 2]
test edx, edx
je 0x42ee59
mov bl, 8
cmp edx, 0x27
je 0x42ee59
and edx, 0xff
test byte [edx + 0x466538], bl
jne 0x42ee4f
mov dword [esi], 0x94
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
jne 0x42ee36
mov ecx, eax
and ecx, 0x80000001
jns 0x42ee68
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x42ee6e
test edx, edx
jne 0x42ee78
test edx, edx
mov dword [esi], 0x94
je 0x42eece
pop edi
pop esi
inc eax
pop ebx
ret
mov al, byte [edi + 0x466538]
mov bl, 0x46
test bl, al
jne 0x42ee9c
mov edx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 1
mov dword [edx], 0x94
pop ebx
ret
xor eax, eax
mov esi, 1
mov al, byte [ecx + 1]
test byte [eax + 0x466538], bl
je 0x42eebc
inc esi
xor edx, edx
mov dl, byte [esi + ecx]
test byte [edx + 0x466538], bl
jne 0x42eeae
push esi
push ecx
call fcn.0042efc0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword [ecx], eax
mov eax, esi
pop edi
pop esi
pop ebx
ret