Function at 0x552fd4
Capabilities:
Parse pe header

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
mov al, byte [edi]
mov esi, edx
add eax, 0xfffffff7
cmp eax, 0x75
ja case.0x552ff2.9
mov al, byte [eax + 0x552ff9]
jmp dword [eax*4 + 0x55306f]
mov ebx, 1
lea eax, [edi + 1]
jmp 0x5530e3
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 1
jne 0x5530e1
mov dword [esi], 0x95
mov eax, ebx
jmp 0x553630
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x2d
jne 0x55312d
mov ebx, 2
lea edx, [edi + 2]
jmp 0x553113
inc ebx
inc edx
xor eax, eax
mov al, byte [edx]
test eax, eax
je 0x553120
cmp eax, 0xa
jne 0x553111
mov dword [esi], 0x95
mov eax, ebx
jmp 0x553630
mov dword [esi], 0x57
mov eax, 1
jmp 0x553630
mov dword [esi], 0x16
mov eax, 1
jmp 0x553630
mov dword [esi], 0x17
mov eax, 1
jmp 0x553630
mov dword [esi], 1
mov eax, 1
jmp 0x553630
mov dword [esi], 0x56
mov eax, 1
jmp 0x553630
mov dword [esi], 0x58
mov eax, 1
jmp 0x553630
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x2a
jne 0x55319d
cmp byte [edi + 2], 0
jne 0x5531ad
mov dword [esi], 0x59
mov eax, 1
jmp 0x553630
mov ebx, 3
xor eax, eax
mov al, byte [edi + 2]
lea edx, [edi + 3]
jmp 0x5531be
inc ebx
inc edx
cmp eax, 0x2a
jne 0x5531cc
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x2f
je 0x5531d4
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x5531bc
test eax, eax
je 0x5531d9
inc ebx
mov dword [esi], 0x95
mov eax, ebx
jmp 0x553630
mov dword [esi], 0x5a
mov eax, 1
jmp 0x553630
mov dword [esi], 0x4c
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x3d
sete al
and eax, 1
inc eax
jmp 0x553630
xor eax, eax
mov al, byte [edi + 1]
cmp eax, 0x3d
jne 0x55322c
mov dword [esi], 0x4e
mov eax, 2
jmp 0x553630
jmp case.0x552ff2.17
cmp eax, 0x3e
jne 0x553243
mov dword [esi], 0x4b
mov eax, 2
jmp 0x553630
cmp eax, 0x3c
jne 0x55325a
mov dword [esi], 0x54
mov eax, 2
jmp 0x553630
mov dword [esi], 0x4f
mov eax, 1
jmp 0x553630
xor eax, eax
mov al, byte [edi + 1]
cmp eax, 0x3d
jne 0x553286
mov dword [esi], 0x50
mov eax, 2
jmp 0x553630
cmp eax, 0x3e
jne 0x55329d
mov dword [esi], 0x55
mov eax, 2
jmp 0x553630
mov dword [esi], 0x4d
mov eax, 1
jmp 0x553630
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x3d
je 0x5532c9
mov dword [esi], 0x94
mov eax, 2
jmp 0x553630
mov dword [esi], 0x4b
mov eax, 2
jmp 0x553630
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x7c
je 0x5532f5
mov dword [esi], 0x53
mov eax, 1
jmp 0x553630
mov dword [esi], 0x5b
mov eax, 2
jmp 0x553630
mov dword [esi], 0x19
mov eax, 1
jmp 0x553630
mov dword [esi], 0x52
mov eax, 1
jmp 0x553630
mov dword [esi], 0x5d
mov eax, 1
jmp 0x553630
xor ecx, ecx
mov cl, byte [edi]
mov ebx, 1
lea edx, [edi + 1]
jmp 0x553357
cmp ecx, eax
jne 0x553355
movzx edi, byte [edx + 1]
cmp ecx, edi
jne 0x55335f
inc ebx
inc edx
jmp 0x553355
inc ebx
inc edx
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x553343
cmp eax, 0x27
jne 0x553374
mov dword [esi], 0x5e
lea eax, [ebx + 1]
jmp 0x553630
test eax, eax
je 0x553388
mov dword [esi], 0x1a
lea eax, [ebx + 1]
jmp 0x553630
mov dword [esi], 0x94
mov eax, ebx
jmp 0x553630
xor edx, edx
mov dl, byte [edi + 1]
test byte [edx + 0x5ca2f4], 4
jne case.0x552ff2.21
mov dword [esi], 0x76
mov eax, 1
jmp 0x553630
mov dword [esi], 0x81
xor ebx, ebx
mov eax, edi
jmp 0x5533c1
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 4
jne 0x5533bf
xor ecx, ecx
mov cl, byte [edi + ebx]
cmp ecx, 0x2e
jne 0x5533f3
inc ebx
lea eax, [edi + ebx]
jmp 0x5533e0
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 4
jne 0x5533de
mov dword [esi], 0x82
xor eax, eax
mov al, byte [edi + ebx]
cmp eax, 0x65
je 0x553402
cmp eax, 0x45
jne 0x55344d
xor edx, edx
mov dl, byte [edi + ebx + 1]
test byte [edx + 0x5ca2f4], 4
jne 0x553430
xor eax, eax
mov al, byte [edi + ebx + 1]
cmp eax, 0x2b
je 0x553421
cmp eax, 0x2d
jne 0x55344d
xor edx, edx
mov dl, byte [edi + ebx + 2]
test byte [edx + 0x5ca2f4], 4
je 0x55344d
add ebx, 2
lea eax, [edi + ebx]
jmp 0x55343a
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 4
jne 0x553438
mov dword [esi], 0x82
lea eax, [edi + ebx]
jmp 0x55345a
mov dword [esi], 0x94
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 0x46
jne 0x553452
mov eax, ebx
jmp 0x553630
mov ebx, 1
xor eax, eax
mov al, byte [edi]
lea edx, [edi + 1]
jmp 0x55347e
inc ebx
inc edx
cmp eax, 0x5d
je 0x55348b
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x55347c
cmp eax, 0x5d
jne 0x553497
mov edx, 0x1a
jmp 0x55349c
mov edx, 0x94
mov dword [esi], edx
mov eax, ebx
jmp 0x553630
mov dword [esi], 0x85
mov ebx, 1
lea eax, [edi + 1]
jmp 0x5534b7
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 4
jne 0x5534b5
mov eax, ebx
jmp 0x553630
mov ebx, 1
lea eax, [edi + 1]
jmp 0x5534d7
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 4
jne 0x5534d5
cmp ebx, 1
jle case.0x552ff2.15
mov dword [esi], 0x84
mov eax, ebx
jmp 0x553630
xor ebp, ebp
mov dword [esi], 0x85
mov ebx, 1
lea edx, [edi + 1]
jmp 0x553566
xor ecx, ecx
mov cl, al
test byte [ecx + 0x5ca2f4], 0x46
je 0x553518
inc ebp
jmp 0x553564
cmp eax, 0x28
jne 0x55354f
test ebp, ebp
jle 0x55354f
inc ebx
inc edx
xor eax, eax
mov al, byte [edx]
test eax, eax
je 0x55353d
xor ecx, ecx
mov cl, al
test byte [ecx + 0x5ca2f4], 1
jne 0x55353d
cmp eax, 0x29
jne 0x553521
cmp eax, 0x29
jne 0x553545
inc ebx
jmp 0x55356e
mov dword [esi], 0x94
jmp 0x55356e
cmp eax, 0x3a
jne 0x55356e
xor eax, eax
mov al, byte [edx + 1]
cmp eax, 0x3a
jne 0x55356e
inc ebx
inc edx
jmp 0x553564
inc ebx
inc edx
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x553508
test ebp, ebp
jne 0x553578
mov dword [esi], 0x94
mov eax, ebx
jmp 0x553630
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x27
jne case.0x552ff2.9
mov dword [esi], 0x83
mov ebx, 2
lea eax, [edi + 2]
jmp 0x55359b
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 8
jne 0x553599
xor ecx, ecx
mov cl, byte [edi + ebx]
cmp ecx, 0x27
jne 0x5535c5
mov ecx, ebx
and ecx, 0x80000001
jns 0x5535c1
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x5535e3
mov dword [esi], 0x94
lea eax, [edi + ebx]
jmp 0x5535d2
inc ebx
inc eax
mov dl, byte [eax]
test dl, dl
je 0x5535e3
and edx, 0xff
cmp edx, 0x27
jne 0x5535d0
cmp byte [edi + ebx], 0
je 0x5535ea
inc ebx
mov eax, ebx
jmp 0x553630
xor ecx, ecx
mov cl, byte [edi]
test byte [ecx + 0x5ca2f4], 0x46
jne 0x5535fd
jmp 0x553625
mov ebx, 1
lea eax, [edi + 1]
jmp 0x553609
inc ebx
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x5ca2f4], 0x46
jne 0x553607
mov edx, ebx
mov eax, edi
call fcn.00552f30
mov dword [esi], eax
mov eax, ebx
jmp 0x553630
mov dword [esi], 0x94
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
ret