Function at 0x1011f590
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.0x1011f5b3.34
mov dl, 4
xor eax, eax
mov al, byte [esi + 0x1011fc04]
jmp dword [eax*4 + 0x1011fb9c]
xor edx, edx
mov eax, 1
mov dl, byte [ecx + 1]
test byte [edx + 0x10161df4], al
je 0x1011f5db
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test byte [edx + 0x10161df4], 1
jne 0x1011f5cc
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [ecx], 0x95
ret
cmp byte [ecx + 1], 0x2d
jne 0x1011f61a
xor edx, edx
mov eax, 2
mov dl, byte [ecx + 2]
test edx, edx
je 0x1011f60c
cmp edx, 0xa
je 0x1011f60c
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
jne 0x1011f5fd
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 0x1011f6ca
mov dl, byte [ecx + 2]
test dl, dl
je 0x1011f6ca
mov eax, 3
and edx, 0xff
cmp edx, 0x2a
jne 0x1011f6af
cmp byte [eax + ecx], 0x2f
je 0x1011f6bb
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x1011f6bc
inc eax
jmp 0x1011f6a4
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 0x1011f727
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x4e
mov eax, 2
ret
cmp eax, 0x3e
jne 0x1011f73f
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [ecx], 0x4b
pop ebx
ret
cmp eax, 0x3c
jne 0x1011f757
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 0x1011f787
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov eax, 2
mov dword [ecx], 0x50
pop ebx
ret
cmp eax, 0x3e
jne 0x1011f79f
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 0x1011f7cb
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 0x1011f7f7
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 0x1011f86e
cmp esi, edi
jne 0x1011f862
xor edx, edx
mov dl, byte [ecx + eax + 1]
cmp edx, edi
jne 0x1011f86e
inc eax
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
mov esi, edx
test esi, esi
jne 0x1011f853
cmp esi, 0x27
jne 0x1011f882
mov ecx, dword [esp + 0x14]
pop edi
pop esi
inc eax
mov dword [ecx], 0x5e
pop ebx
ret
test esi, esi
je 0x1011f895
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 + 0x10161df4], dl
jne case.0x1011f5b3.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 + 0x10161df4], dl
je 0x1011f8e9
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x10161df4], dl
jne 0x1011f8db
cmp byte [eax + ecx], 0x2e
jne 0x1011f911
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x10161df4], dl
je 0x1011f90b
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x10161df4], dl
jne 0x1011f8fd
mov dword [esi], 0x82
mov bl, byte [eax + ecx]
cmp bl, 0x65
je 0x1011f91e
cmp bl, 0x45
jne 0x1011f974
mov bl, byte [eax + ecx + 1]
mov byte [esp + 0x14], bl
and ebx, 0xff
test byte [ebx + 0x10161df4], dl
jne 0x1011f950
mov bl, byte [esp + 0x14]
cmp bl, 0x2b
je 0x1011f942
cmp bl, 0x2d
jne 0x1011f974
xor ebx, ebx
mov bl, byte [eax + ecx + 2]
test byte [ebx + 0x10161df4], dl
je 0x1011f974
add eax, 2
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x10161df4], dl
je 0x1011f96e
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x10161df4], dl
jne 0x1011f960
mov dword [esi], 0x82
xor edx, edx
mov bl, 0x46
mov dl, byte [eax + ecx]
test byte [edx + 0x10161df4], bl
je 0x1011fb98
inc eax
xor edx, edx
mov dword [esi], 0x94
mov dl, byte [eax + ecx]
test byte [edx + 0x10161df4], bl
jne 0x1011f987
pop edi
pop esi
pop ebx
ret
mov edx, edi
mov eax, 1
cmp edx, 0x5d
je 0x1011f9ba
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x1011f9ba
inc eax
cmp edx, 0x5d
jne 0x1011f9ab
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 + 0x10161df4], dl
je 0x1011fb96
inc esi
xor eax, eax
mov al, byte [esi + ecx]
test byte [eax + 0x10161df4], dl
jne 0x1011f9f3
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 + 0x10161df4], dl
je case.0x1011f5b3.13
inc esi
xor eax, eax
mov al, byte [esi + ecx]
test byte [eax + 0x10161df4], dl
jne 0x1011fa1d
cmp esi, 1
jle case.0x1011f5b3.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 0x1011facc
push ebp
mov bl, 0x46
mov ebp, edx
and ebp, 0xff
test byte [ebp + 0x10161df4], bl
je 0x1011fa70
inc esi
jmp 0x1011fa82
cmp edx, 0x28
je 0x1011fa8e
cmp edx, 0x3a
jne 0x1011fac3
cmp byte [ecx + eax + 1], 0x3a
jne 0x1011fac3
inc eax
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x1011fac3
jmp 0x1011fa5d
test esi, esi
jle 0x1011fac3
inc eax
xor edx, edx
mov dl, byte [eax + ecx]
test edx, edx
je 0x1011fab5
mov ebx, edx
and ebx, 0xff
test byte [ebx + 0x10161df4], 1
jne 0x1011fab5
cmp edx, 0x29
jne 0x1011fa92
inc eax
jmp 0x1011fac3
cmp edx, 0x29
jne 0x1011fabd
inc eax
jmp 0x1011fac3
mov dword [edi], 0x94
test esi, esi
pop ebp
jne 0x1011fb98
mov dword [edi], 0x94
pop edi
pop esi
pop ebx
ret
cmp byte [ecx + 1], 0x27
jne case.0x1011f5b3.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 + 0x10161df4], dl
je 0x1011fb0a
inc eax
xor ebx, ebx
mov bl, byte [eax + ecx]
test byte [ebx + 0x10161df4], dl
jne 0x1011fafc
cmp byte [eax + ecx], 0x27
jne 0x1011fb21
mov edx, eax
and edx, 0x80000001
jns 0x1011fb1f
dec edx
or edx, 0xfffffffe
inc edx
je 0x1011fb3c
mov dword [esi], 0x94
mov dl, byte [eax + ecx]
test dl, dl
je 0x1011fb3c
cmp dl, 0x27
je 0x1011fb3c
mov dl, byte [eax + ecx + 1]
inc eax
test dl, dl
jne 0x1011fb2e
cmp byte [eax + ecx], 0
je 0x1011fb98
pop edi
pop esi
inc eax
pop ebx
ret
mov al, byte [edi + 0x10161df4]
mov bl, 0x46
test bl, al
jne 0x1011fb66
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 + 0x10161df4], bl
je 0x1011fb86
inc esi
xor eax, eax
mov al, byte [esi + ecx]
test byte [eax + 0x10161df4], bl
jne 0x1011fb78
push esi
push ecx
call fcn.1011fc80
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword [ecx], eax
mov eax, esi
pop edi
pop esi
pop ebx
ret