Function at 0x52b824
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor eax, eax
mov al, byte [edi]
add eax, 0xfffffff7
cmp eax, 0x75
ja case.0x52b849.9
mov al, byte [eax + 0x52b850]
jmp dword [eax*4 + 0x52b8c6]
mov ebx, 1
lea eax, [edi + 1]
jmp 0x52b93a
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 1
jne 0x52b938
mov dword [esi], 0x95
mov eax, ebx
jmp 0x52be97
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x2d
jne 0x52b984
mov ebx, 2
lea edx, [edi + 2]
jmp 0x52b96a
inc ebx
inc edx
xor eax, eax
mov al, byte [edx]
test eax, eax
je 0x52b977
cmp eax, 0xa
jne 0x52b968
mov dword [esi], 0x95
mov eax, ebx
jmp 0x52be97
mov dword [esi], 0x57
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x16
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x17
mov eax, 1
jmp 0x52be97
mov dword [esi], 1
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x56
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x58
mov eax, 1
jmp 0x52be97
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x2a
jne 0x52b9f4
cmp byte [edi + 2], 0
jne 0x52ba04
mov dword [esi], 0x59
mov eax, 1
jmp 0x52be97
mov ebx, 3
xor eax, eax
mov al, byte [edi + 2]
lea edx, [edi + 3]
jmp 0x52ba15
inc ebx
inc edx
cmp eax, 0x2a
jne 0x52ba23
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x2f
je 0x52ba2b
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x52ba13
test eax, eax
je 0x52ba30
inc ebx
mov dword [esi], 0x95
mov eax, ebx
jmp 0x52be97
mov dword [esi], 0x5a
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x4c
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x3d
sete al
and eax, 1
inc eax
jmp 0x52be97
xor eax, eax
mov al, byte [edi + 1]
cmp eax, 0x3d
jne 0x52ba83
mov dword [esi], 0x4e
mov eax, 2
jmp 0x52be97
jmp case.0x52b849.17
cmp eax, 0x3e
jne 0x52ba9a
mov dword [esi], 0x4b
mov eax, 2
jmp 0x52be97
cmp eax, 0x3c
jne 0x52bab1
mov dword [esi], 0x54
mov eax, 2
jmp 0x52be97
mov dword [esi], 0x4f
mov eax, 1
jmp 0x52be97
xor eax, eax
mov al, byte [edi + 1]
cmp eax, 0x3d
jne 0x52badd
mov dword [esi], 0x50
mov eax, 2
jmp 0x52be97
cmp eax, 0x3e
jne 0x52baf4
mov dword [esi], 0x55
mov eax, 2
jmp 0x52be97
mov dword [esi], 0x4d
mov eax, 1
jmp 0x52be97
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x3d
je 0x52bb20
mov dword [esi], 0x94
mov eax, 2
jmp 0x52be97
mov dword [esi], 0x4b
mov eax, 2
jmp 0x52be97
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x7c
je 0x52bb4c
mov dword [esi], 0x53
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x5b
mov eax, 2
jmp 0x52be97
mov dword [esi], 0x19
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x52
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x5d
mov eax, 1
jmp 0x52be97
xor edx, edx
mov dl, byte [edi]
mov dword [ebp - 4], edx
mov ebx, 1
lea edx, [edi + 1]
jmp 0x52bbb4
cmp eax, dword [ebp - 4]
jne 0x52bbb2
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, dword [ebp - 4]
jne 0x52bbbc
inc ebx
inc edx
jmp 0x52bbb2
inc ebx
inc edx
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x52bb9d
cmp eax, 0x27
jne 0x52bbd1
mov dword [esi], 0x5e
lea eax, [ebx + 1]
jmp 0x52be97
test eax, eax
je 0x52bbe5
mov dword [esi], 0x1a
lea eax, [ebx + 1]
jmp 0x52be97
mov dword [esi], 0x94
mov eax, ebx
jmp 0x52be97
xor edx, edx
mov dl, byte [edi + 1]
test byte [edx + 0x56b884], 4
jne case.0x52b849.21
mov dword [esi], 0x76
mov eax, 1
jmp 0x52be97
mov dword [esi], 0x81
xor ebx, ebx
mov eax, edi
jmp 0x52bc1e
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 4
jne 0x52bc1c
xor ecx, ecx
mov cl, byte [edi + ebx]
cmp ecx, 0x2e
jne 0x52bc50
inc ebx
lea eax, [edi + ebx]
jmp 0x52bc3d
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 4
jne 0x52bc3b
mov dword [esi], 0x82
xor eax, eax
mov al, byte [edi + ebx]
cmp eax, 0x65
je 0x52bc5f
cmp eax, 0x45
jne 0x52bcaa
xor edx, edx
mov dl, byte [edi + ebx + 1]
test byte [edx + 0x56b884], 4
jne 0x52bc8d
xor eax, eax
mov al, byte [edi + ebx + 1]
cmp eax, 0x2b
je 0x52bc7e
cmp eax, 0x2d
jne 0x52bcaa
xor edx, edx
mov dl, byte [edi + ebx + 2]
test byte [edx + 0x56b884], 4
je 0x52bcaa
add ebx, 2
lea eax, [edi + ebx]
jmp 0x52bc97
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 4
jne 0x52bc95
mov dword [esi], 0x82
lea eax, [edi + ebx]
jmp 0x52bcb7
mov dword [esi], 0x94
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 0x46
jne 0x52bcaf
mov eax, ebx
jmp 0x52be97
mov ebx, 1
xor eax, eax
mov al, byte [edi]
lea edx, [edi + 1]
jmp 0x52bcdb
inc ebx
inc edx
cmp eax, 0x5d
je 0x52bce8
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x52bcd9
cmp eax, 0x5d
jne 0x52bcf4
mov edx, 0x1a
jmp 0x52bcf9
mov edx, 0x94
mov dword [esi], edx
mov eax, ebx
jmp 0x52be97
mov dword [esi], 0x85
mov ebx, 1
lea eax, [edi + 1]
jmp 0x52bd14
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 4
jne 0x52bd12
mov eax, ebx
jmp 0x52be97
mov ebx, 1
lea eax, [edi + 1]
jmp 0x52bd34
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 4
jne 0x52bd32
cmp ebx, 1
jle case.0x52b849.15
mov dword [esi], 0x84
mov eax, ebx
jmp 0x52be97
xor edx, edx
mov ebx, 1
mov dword [ebp - 8], edx
lea edx, [edi + 1]
mov dword [esi], 0x85
jmp 0x52bdca
xor ecx, ecx
mov cl, al
test byte [ecx + 0x56b884], 0x46
je 0x52bd7a
inc dword [ebp - 8]
jmp 0x52bdc8
cmp eax, 0x28
jne 0x52bdb3
cmp dword [ebp - 8], 0
jle 0x52bdb3
inc ebx
inc edx
xor eax, eax
mov al, byte [edx]
test eax, eax
je 0x52bda1
xor ecx, ecx
mov cl, al
test byte [ecx + 0x56b884], 1
jne 0x52bda1
cmp eax, 0x29
jne 0x52bd85
cmp eax, 0x29
jne 0x52bda9
inc ebx
jmp 0x52bdd2
mov dword [esi], 0x94
jmp 0x52bdd2
cmp eax, 0x3a
jne 0x52bdd2
xor eax, eax
mov al, byte [edx + 1]
cmp eax, 0x3a
jne 0x52bdd2
inc ebx
inc edx
jmp 0x52bdc8
inc ebx
inc edx
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x52bd68
cmp dword [ebp - 8], 0
jne 0x52bdde
mov dword [esi], 0x94
mov eax, ebx
jmp 0x52be97
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x27
jne case.0x52b849.9
mov dword [esi], 0x83
mov ebx, 2
lea eax, [edi + 2]
jmp 0x52be01
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 8
jne 0x52bdff
xor ecx, ecx
mov cl, byte [edi + ebx]
cmp ecx, 0x27
jne 0x52be2b
mov ecx, ebx
and ecx, 0x80000001
jns 0x52be27
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x52be49
mov dword [esi], 0x94
lea eax, [edi + ebx]
jmp 0x52be38
inc ebx
inc eax
mov dl, byte [eax]
test dl, dl
je 0x52be49
and edx, 0xff
cmp edx, 0x27
jne 0x52be36
cmp byte [edi + ebx], 0
je 0x52be50
inc ebx
mov eax, ebx
jmp 0x52be97
xor ecx, ecx
mov cl, byte [edi]
test byte [ecx + 0x56b884], 0x46
jne 0x52be63
jmp 0x52be8c
mov ebx, 1
lea eax, [edi + 1]
jmp 0x52be6f
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x56b884], 0x46
jne 0x52be6d
push ebx
push edi
call fcn.0052b768
add esp, 8
mov dword [esi], eax
mov eax, ebx
jmp 0x52be97
mov dword [esi], 0x94
mov eax, 1
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret