Function at 0x53a380
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
movzx edi, byte [ecx]
lea eax, [edi - 9]
cmp eax, 0x75
ja case.0x53a3a1.34
movzx eax, byte [eax + 0x53a96c]
mov dl, 4
jmp dword [eax*4 + 0x53a904]
movzx esi, byte [ecx + 1]
mov edx, 1
mov eax, edx
test byte [esi + 0x66db38], dl
je 0x53a3ce
jmp 0x53a3c0
add eax, edx
movzx esi, byte [eax + ecx]
test byte [esi + 0x66db38], dl
jne 0x53a3c0
pop edi
pop esi
mov dword [ebx], 0x95
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x2d
jne 0x53a40a
movzx edx, byte [ecx + 2]
mov eax, 2
test edx, edx
je 0x53a3ff
lea esp, [esp]
cmp edx, 0xa
je 0x53a3ff
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x53a3f0
pop edi
pop esi
mov dword [ebx], 0x95
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x57
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x16
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x17
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 1
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x56
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x58
mov eax, 1
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x2a
jne 0x53a4a2
mov dl, byte [ecx + 2]
test dl, dl
je 0x53a4a2
mov eax, 3
movzx edx, dl
nop
cmp edx, 0x2a
jne 0x53a48b
cmp byte [eax + ecx], 0x2f
je 0x53a496
movzx edx, byte [eax + ecx]
test edx, edx
je 0x53a497
inc eax
jmp 0x53a480
inc eax
pop edi
pop esi
mov dword [ebx], 0x95
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x59
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5a
mov eax, 1
pop ebx
pop ebp
ret
xor eax, eax
cmp byte [ecx + 1], 0x3d
pop edi
sete al
pop esi
mov dword [ebx], 0x4c
pop ebx
inc eax
pop ebp
ret
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x53a4f0
pop edi
pop esi
mov dword [ebx], 0x4e
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3e
jne 0x53a505
pop edi
pop esi
mov dword [ebx], 0x4b
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3c
jne 0x53a51a
pop edi
pop esi
mov dword [ebx], 0x54
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x4f
mov eax, 1
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x53a543
pop edi
pop esi
mov dword [ebx], 0x50
mov eax, 2
pop ebx
pop ebp
ret
cmp eax, 0x3e
jne 0x53a558
pop edi
pop esi
mov dword [ebx], 0x55
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x4d
mov eax, 1
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x3d
mov eax, 2
jne 0x53a839
pop edi
pop esi
mov dword [ebx], 0x4b
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x7c
je 0x53a598
pop edi
pop esi
mov dword [ebx], 0x53
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5b
mov eax, 2
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x19
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x52
mov eax, 1
pop ebx
pop ebp
ret
pop edi
pop esi
mov dword [ebx], 0x5d
mov eax, 1
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov eax, 1
test esi, esi
je 0x53a5fd
cmp esi, edi
jne 0x53a5f3
movzx edx, byte [ecx + eax + 1]
cmp edx, edi
jne 0x53a5fd
inc eax
movzx esi, byte [eax + ecx + 1]
inc eax
test esi, esi
jne 0x53a5e5
cmp esi, 0x27
jne 0x53a60e
pop edi
pop esi
mov dword [ebx], 0x5e
inc eax
pop ebx
pop ebp
ret
test esi, esi
je 0x53a839
pop edi
pop esi
mov dword [ebx], 0x1a
inc eax
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
test byte [eax + 0x66db38], dl
jne case.0x53a3a1.24
pop edi
pop esi
mov dword [ebx], 0x76
mov eax, 1
pop ebx
pop ebp
ret
xor eax, eax
mov dword [ebx], 0x81
test byte [edi + 0x66db38], dl
je 0x53a65e
mov edi, edi
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x66db38], dl
jne 0x53a650
cmp byte [eax + ecx], 0x2e
jne 0x53a686
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x66db38], dl
je 0x53a680
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x66db38], dl
jne 0x53a672
mov dword [ebx], 0x82
mov bl, byte [eax + ecx]
cmp bl, 0x65
je 0x53a693
cmp bl, 0x45
jne 0x53a6e9
mov bl, byte [eax + ecx + 1]
movzx esi, bl
test byte [esi + 0x66db38], dl
jne 0x53a6b9
cmp bl, 0x2b
je 0x53a6ac
cmp bl, 0x2d
jne 0x53a6e9
movzx esi, byte [eax + ecx + 2]
test byte [esi + 0x66db38], dl
je 0x53a6e9
movzx esi, byte [eax + ecx + 2]
add eax, 2
test byte [esi + 0x66db38], dl
je 0x53a6de
lea esp, [esp]
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x66db38], dl
jne 0x53a6d0
mov edx, dword [ebp + 8]
mov dword [edx], 0x82
jmp 0x53a6ec
mov edx, dword [ebp + 8]
movzx esi, byte [eax + ecx]
mov bl, 0x46
test byte [esi + 0x66db38], bl
je 0x53a8fe
mov edi, edi
movzx esi, byte [eax + ecx + 1]
inc eax
mov edi, 0x94
test byte [esi + 0x66db38], bl
jne 0x53a700
mov dword [edx], edi
pop edi
pop esi
pop ebx
pop ebp
ret
mov edx, edi
mov eax, 1
cmp edx, 0x5d
je 0x53a734
movzx edx, byte [eax + ecx]
test edx, edx
je 0x53a734
inc eax
cmp edx, 0x5d
jne 0x53a726
sub edx, 0x5d
neg edx
sbb edx, edx
and edx, 0x7a
pop edi
add edx, 0x1a
pop esi
mov dword [ebx], edx
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov dl, 4
mov dword [ebx], 0x85
mov eax, 1
test byte [esi + 0x66db38], dl
je 0x53a8fe
jmp 0x53a770
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x66db38], dl
jne 0x53a770
pop edi
pop esi
pop ebx
pop ebp
ret
movzx esi, byte [ecx + 1]
mov dl, 4
mov eax, 1
test byte [esi + 0x66db38], dl
je case.0x53a3a1.13
jmp 0x53a7a0
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x66db38], dl
jne 0x53a7a0
cmp eax, 1
jle case.0x53a3a1.13
pop edi
pop esi
mov dword [ebx], 0x84
pop ebx
pop ebp
ret
movzx edx, byte [ecx + 1]
xor esi, esi
mov dword [ebx], 0x85
lea eax, [esi + 1]
test edx, edx
je 0x53a839
mov bl, 0x46
movzx edi, dl
test byte [edi + 0x66db38], bl
je 0x53a7e1
inc esi
jmp 0x53a7f2
cmp edx, 0x28
je 0x53a7fe
cmp edx, 0x3a
jne 0x53a82e
cmp byte [ecx + eax + 1], dl
jne 0x53a82e
inc eax
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x53a7d3
jmp 0x53a82e
test esi, esi
jle 0x53a830
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
je 0x53a81d
test byte [edx + 0x66db38], 1
jne 0x53a81d
cmp edx, 0x29
jne 0x53a802
inc eax
jmp 0x53a82e
cmp edx, 0x29
jne 0x53a825
inc eax
jmp 0x53a82e
mov ecx, dword [ebp + 8]
mov dword [ecx], 0x94
test esi, esi
jne 0x53a8fe
mov ebx, dword [ebp + 8]
pop edi
pop esi
mov dword [ebx], 0x94
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0x27
jne case.0x53a3a1.34
movzx esi, byte [ecx + 2]
mov dl, 8
mov dword [ebx], 0x83
mov eax, 2
test byte [esi + 0x66db38], dl
je 0x53a871
movzx esi, byte [eax + ecx + 1]
inc eax
test byte [esi + 0x66db38], dl
jne 0x53a863
mov dl, byte [eax + ecx]
cmp dl, 0x27
jne 0x53a88a
mov esi, eax
and esi, 0x80000001
jns 0x53a888
dec esi
or esi, 0xfffffffe
inc esi
je 0x53a8a2
mov dword [ebx], 0x94
test dl, dl
je 0x53a8a2
cmp dl, 0x27
je 0x53a8a2
mov dl, byte [eax + ecx + 1]
inc eax
test dl, dl
jne 0x53a894
cmp byte [eax + ecx], 0
je 0x53a8fe
pop edi
pop esi
inc eax
pop ebx
pop ebp
ret
mov bl, 0x46
test byte [edi + 0x66db38], bl
jne 0x53a8cb
mov edx, dword [ebp + 8]
pop edi
pop esi
mov dword [edx], 0x94
mov eax, 1
pop ebx
pop ebp
ret
movzx eax, byte [ecx + 1]
mov edi, 1
test byte [eax + 0x66db38], bl
je 0x53a8ee
lea esp, [esp]
movzx edx, byte [edi + ecx + 1]
inc edi
test byte [edx + 0x66db38], bl
jne 0x53a8e0
push ecx
call fcn.0053a2a0
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret
and ecx, dword [edx + 0x71c0000c]
sbb al, 0x58
sti
mul byte [ecx - 0x2742c5d]
pop es
jbe 0x6ca932
push ds
push 0x269988ed
mov al, byte [0x94187cc1]
or dword [edi - 0x41], edi
stosb byte es:[edi], al
jbe 0x6ca968
sbb dword [edx + 0x5f1cbaac], ecx
pop ds
in eax, dx
xchg dword [esi - 0x180e2905], ecx
lcall 0x1e0c, 0x53f1153e
salc
int1
out 0x9a, eax
adc eax, 0x1e0c53f1
push 0xffffffffffffffef
adc dword [esi], ebx
cld
jne 0x6ca9a0
pop ss
insb byte es:[edi], dx
fild dword [esi]
retf
pop edi
fdiv qword fs:[edi + 0x30e65a4c]
mov al, 0xaf
jns 0x6ca934
stc
scasd eax, dword es:[edi]
push ebx
or al, 0x46
sbb dword [edi + 0x19], 0x72
sub dword [0xb512de82], ecx
mov word [ecx + 0x1e37b69f], fs
mov ah, 0x81
mov ecx, 0x84c34c0c
inc esp
xor al, byte [ecx]
leave
push esp
adc cl, byte [ebx + eax*8 + 4]
invalid
fdiv dword [ebx]
inc edx
rcr ah, 0x12
sbb bl, byte [ecx + 0x50]
pop ecx
push eax
and ebp, esp
or ch, byte [esi]
loopne 0x6ca9fb
lahf
pop ds
pop ebp
dec ebp
push 0xfffffffffffffffd
sbb al, byte [edi + ebx + 0x367dde7a]
pop ds
jo 0x6ca9c2
cmp dword [esi + 0x4169960b], ebp
cmp dl, byte [ebp + 0x402e9b86]
movsd dword es:[edi], dword [esi]
mov ebx, 0xf0fd0eee
mov ds, ecx
ljmp 0x3c53
scasb al, byte es:[edi]
or edx, dword [esi - 0x6ac5be97]
xchg byte [ebx - 0x445abfd2], bl
out dx, al
push cs
std
invalid
push ss
salc
aas
cmp dword [eax + 0x4ec3ddfa], esi
out dx, eax
leave
mov ebx, 0x7e54f19a
add al, 0x79
push ss
int 0xc0
movzx esi, bl
add ebp, dword [edi]
in eax, dx
jo 0x6ca9a7
or dl, byte [eax]
and ah, al
and byte [eax], dh
into
stc
invalid