Function at 0x5d267b
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor eax, eax
mov al, byte [edi]
add eax, 0xfffffff7
cmp eax, 0x75
ja case.0x5d269d.9
mov al, byte [eax + 0x5d26a4]
jmp dword [eax*4 + 0x5d271a]
mov ebx, 1
jmp 6104970
inc ebx
xor eax, eax
mov al, byte [edi + ebx]
push eax
call fcn.005e2bc8
pop ecx
test eax, eax
jne 0x5d2789
mov edx, dword [ebp + 0xc]
mov dword [edx], 3
mov eax, ebx
jmp 0x5d2cd4
cmp byte [edi + 1], 0x2d
jne 0x5d27d5
mov ebx, 2
jmp 0x5d27b8
inc ebx
movzx esi, byte [edi + ebx]
test esi, esi
je 0x5d27c5
cmp esi, 0xa
jne 0x5d27b7
mov eax, dword [ebp + 0xc]
mov dword [eax], 5
mov eax, ebx
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x57
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x1a
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x1b
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0xb
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x56
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x58
mov eax, 1
jmp 0x5d2cd4
cmp byte [edi + 1], 0x2a
jne 0x5d2853
cmp byte [edi + 2], 0
jne 0x5d2866
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x59
mov eax, 1
jmp 0x5d2cd4
mov ebx, 3
movzx esi, byte [edi + 2]
jmp 0x5d2872
inc ebx
cmp esi, 0x2a
jne 0x5d287d
cmp byte [edi + ebx], 0x2f
je 0x5d2885
movzx esi, byte [edi + ebx]
test esi, esi
jne 0x5d2871
test esi, esi
je 0x5d288a
inc ebx
mov eax, dword [ebp + 0xc]
mov dword [eax], 5
mov eax, ebx
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x5a
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x4c
cmp byte [edi + 1], 0x3d
sete al
and eax, 1
inc eax
jmp 0x5d2cd4
movzx esi, byte [edi + 1]
cmp esi, 0x3d
jne 0x5d28e2
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
add byte [eax], al
add byte [eax + 2], bh
add byte [eax], al
add byte [eax + 2], bh
jmp 0x5d2cd4
cmp esi, 0x3e
jne 0x5d28fa
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x4b
mov eax, 2
jmp 0x5d2cd4
cmp esi, 0x3c
jne 0x5d2912
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x54
mov eax, 2
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x4f
mov eax, 1
jmp 0x5d2cd4
movzx esi, byte [edi + 1]
cmp esi, 0x3d
jne 0x5d2941
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
mov eax, 2
jmp 0x5d2cd4
cmp esi, 0x3e
jne 0x5d2959
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x55
mov eax, 2
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x4d
mov eax, 1
jmp 0x5d2cd4
cmp byte [edi + 1], 0x3d
je 0x5d2985
mov edx, dword [ebp + 0xc]
mov dword [edx], 2
mov eax, 2
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x4b
mov eax, 2
jmp 0x5d2cd4
cmp byte [edi + 1], 0x7c
je 0x5d29b1
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x53
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x5b
mov eax, 2
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x1d
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x52
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x5e
mov eax, 1
jmp 0x5d2cd4
xor eax, eax
mov al, byte [edi]
mov ebx, 1
jmp 0x5d2a18
cmp eax, esi
jne 0x5d2a17
xor edx, edx
mov dl, byte [edi + ebx + 1]
cmp eax, edx
jne 0x5d2a20
inc ebx
inc ebx
movzx esi, byte [edi + ebx]
test esi, esi
jne 0x5d2a08
test esi, esi
je 0x5d2a25
inc ebx
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5f
mov eax, ebx
jmp 0x5d2cd4
xor edx, edx
mov dl, byte [edi + 1]
push edx
call fcn.005e2b5c
pop ecx
test eax, eax
jne case.0x5d269d.21
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x78
mov eax, 1
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x84
xor ebx, ebx
jmp 0x5d2a66
inc ebx
xor eax, eax
mov al, byte [edi + ebx]
push eax
call fcn.005e2b5c
pop ecx
test eax, eax
jne 0x5d2a65
cmp byte [edi + ebx], 0x2e
jne 0x5d2a99
inc ebx
jmp 0x5d2a80
inc ebx
xor edx, edx
mov dl, byte [edi + ebx]
push edx
call fcn.005e2b5c
pop ecx
test eax, eax
jne 0x5d2a7f
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x85
cmp byte [edi + ebx], 0x65
je 0x5d2aa5
cmp byte [edi + ebx], 0x45
jne 0x5d2af4
xor eax, eax
mov al, byte [edi + ebx + 1]
push eax
call fcn.005e2b5c
pop ecx
test eax, eax
jne 0x5d2ad5
cmp byte [edi + ebx + 1], 0x2b
je 0x5d2ac4
cmp byte [edi + ebx + 1], 0x2d
jne 0x5d2af4
xor edx, edx
mov dl, byte [edi + ebx + 2]
push edx
call fcn.005e2b5c
pop ecx
test eax, eax
je 0x5d2af4
add ebx, 2
jmp 0x5d2adb
inc ebx
xor ecx, ecx
mov cl, byte [edi + ebx]
push ecx
call fcn.005e2b5c
pop ecx
test eax, eax
jne 0x5d2ada
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x85
mov eax, ebx
jmp 0x5d2cd4
mov ebx, 1
movzx esi, byte [edi]
jmp 0x5d2b06
inc ebx
cmp esi, 0x5d
je 0x5d2b13
movzx esi, byte [edi + ebx]
test esi, esi
jne 0x5d2b05
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1e
mov eax, ebx
jmp 0x5d2cd4
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x88
mov ebx, 1
jmp 0x5d2b34
inc ebx
xor eax, eax
mov al, byte [edi + ebx]
push eax
call fcn.005e2b5c
pop ecx
test eax, eax
jne 0x5d2b33
mov eax, ebx
jmp 0x5d2cd4
mov ebx, 1
jmp 0x5d2b53
inc ebx
xor eax, eax
mov al, byte [edi + ebx]
push eax
call fcn.005e2b5c
pop ecx
test eax, eax
jne 0x5d2b52
cmp ebx, 1
jle case.0x5d269d.20
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x87
mov eax, ebx
jmp 0x5d2cd4
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x88
mov ebx, 1
jmp 0x5d2bed
test esi, 0x80
jne 0x5d2ba3
cmp esi, 0x1f
jle 0x5d2ba8
cmp byte [esi + 0x7a8fc9], 0
je 0x5d2ba8
inc dword [ebp - 4]
jmp 0x5d2bec
cmp esi, 0x28
jne 0x5d2bdf
cmp dword [ebp - 4], 0
jle 0x5d2bdf
inc ebx
movzx esi, byte [edi + ebx]
test esi, esi
je 0x5d2bcc
push esi
call fcn.005e2bc8
pop ecx
test eax, eax
jne 0x5d2bcc
cmp esi, 0x29
jne 0x5d2bb3
cmp esi, 0x29
jne 0x5d2bd4
inc ebx
jmp 0x5d2bf5
mov eax, dword [ebp + 0xc]
mov dword [eax], 2
jmp 0x5d2bf5
cmp esi, 0x3a
jne 0x5d2bf5
cmp byte [edi + ebx + 1], 0x3a
jne 0x5d2bf5
inc ebx
inc ebx
movzx esi, byte [edi + ebx]
test esi, esi
jne 0x5d2b8d
cmp dword [ebp - 4], 0
jne 0x5d2c04
mov eax, dword [ebp + 0xc]
mov dword [eax], 2
mov eax, ebx
jmp 0x5d2cd4
movzx esi, byte [edi + 1]
cmp esi, 0x27
je 0x5d2c19
cmp esi, 0x22
jne case.0x5d269d.9
mov dword [ebp - 8], esi
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x86
mov ebx, 2
jmp 0x5d2c67
cmp esi, dword [ebp - 8]
jne 0x5d2c4e
mov eax, ebx
and eax, 0x80000001
jns 0x5d2c3f
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x5d2c6f
mov edx, dword [ebp + 0xc]
mov dword [edx], 2
jmp 0x5d2c6f
push esi
call fcn.005e2bf0
pop ecx
test eax, eax
jne 0x5d2c66
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 2
mov eax, ebx
jmp 0x5d2cd4
inc ebx
movzx esi, byte [edi + ebx]
test esi, esi
jne 0x5d2c2c
test esi, esi
je 0x5d2c74
inc ebx
mov eax, ebx
jmp 0x5d2cd4
movzx esi, byte [edi]
test esi, 0x80
jne 0x5d2c91
cmp esi, 0x1f
jle 0x5d2cc6
cmp byte [esi + 0x7a8fc9], 0
je 0x5d2cc6
mov ebx, 1
jmp 0x5d2c99
inc ebx
movzx esi, byte [edi + ebx]
test esi, 0x80
jne 0x5d2c98
cmp esi, 0x1f
jle 0x5d2cb3
cmp byte [esi + 0x7a8fc9], 0
jne 0x5d2c98
push ebx
push edi
call fcn.005d25c6
add esp, 8
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, ebx
jmp 0x5d2cd4
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 2
mov eax, 1
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret