Function at 0x53a79a
Capabilities:
Parse pe header

Disassembly:
add byte [ebx], bh
rcl dword [eax + 0x64], cl
push edi
cmp edx, ebx
push eax
push edi
shl eax, 2
adc byte [eax], al
dec ecx
push esi
pop ebx
pop esi
inc sp
inc edi
bound esi, qword [ebp + 0x1e]
push eax
je 0x53a7b5
wait
dec eax
inc bx
dec esi
inc edi
inc esi
dec esi
push ebp
push esp
outsd dx, dword [esi]
inc edx
inc ecx
bound ebp, qword gs:[ebx + 0x4e]
dec edi
jns 0x53a813
dec ebx
pop bp
pop ebx
inc ebp
inc edi
pop ecx
push dword [ebp + 0x1c]
cmp byte [ecx], 0x25
je 0x53a79b
xor eax, eax
mov eax, dword [esi]
mov edi, dword [ebp + 0xc]
push 0x6e
inc ecx
push esi
inc edi
insw word es:[edi], dx
insb byte es:[edi], dx
pop ecx
arpl cx, bp
mov ebx, 0x675f55d3
dec esi
popal
dec esi
imul esp, dword [ecx + 0x68], 0x4c786a5b
shr cl, cl
outsb dx, byte [esi]
sub byte [ebx], al
add byte [edi + 0xf], bl
push cs
add byte [ecx + 0x66], al
inc ecx
outsb dx, byte [esi]
pop esi
popal
outsb dx, byte [esi]
pop ecx
call 0x53a876
imul esp, dword [esi - 0x17], 0xb4e9569e
ror dword [eax + 0x4e], 0x6a
push eax
inc ebp
pop esi
mov dword fs:[0], ecx
pop esi
push 0xc4835d41
or al, 0x8b
push eax
dec esp
push dword [ebp + 0xc]
or cl, byte fs:[ebp + 0x7b410c4d]
insb byte es:[edi], dx
pop eax
dec ebp
push 6
push eax
lea eax, [ebx + ebx]
inc esp
push ecx
push edi
jns 0x53a8a7
push esi
jmp 0x4e9c69cd
inc esi
test eax, 0x102
mov dl, byte [ebp - 0x759]
mov dword [ebp - 0x770], edi
insb byte es:[edi], dx
push 0x5f
push ecx
push ecx
add eax, edx
outsb dx, byte [esi]
js 0x53a8a9
pop esi
dec ecx
arpl word [edi + eax*2 + 0x6168796b], sp
add eax, dword [eax]
push edx
push 0x32
ror byte [edx + 0x69], 0x5e
pop edi
outsb dx, byte [esi]
lea esp, [esp - 2]
mov word [esp], ax
lahf
lock xchg word [esp], ax
add dword [esp + 2], 0x3a7
lock xchg word [esp], ax
sahf
mov ax, word [esp]
lea esp, [esp + 2]
ret
imul eax, dword [ecx + 0x6b], 0x79
inc ebp
dec ebp
imul edi, dword [ecx + 0x45], 0x4d
dec ebp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
jnp 0x53a910
insd dword es:[edi], dx
bound ebx, qword [edi + edx*2 + 0x63]
pop ebp
push esp
bound eax, qword [edx + 0x49]
dec esp
inc ebx
pop edi
insd dword es:[edi], dx
insb byte es:[edi], dx
inc eax
dec ebp
imul ebp, dword [esi + 0x4b], 0x5a
inc eax
dec edi
inc edi
push 0x5e
jnp 0x53a925
jnp 0x53a94c
jnp 0x53a92b
push ebx
dec esi
pop eax
dec esi
insd dword es:[edi], dx
jnp 0x53a920
push edx
pushal
outsb dx, byte [esi]
inc eax
push ax
dec eax
imul edx, dword [esi + 0x63], 0x6f
inc esp
push edi
push esi
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x53aabd
cmp edx, 0x49557957
jne 0x53a957
push eax
dec ebp
bound ebp, qword [ebx + 0x4f]
insb byte es:[edi], dx
push edx
arpl word [ecx + 0x7b], bp
inc esp
pop eax
dec esi
outsb dx, byte [esi]
push esp
push esi
push ebp
inc esp
popal
insd dword es:[edi], dx
pop edx
push ebx
push ecx
pop ecx
dec esp
push eax
pop eax
jnp 0x53a96a
inc esi
pop eax
push ebp
inc edx
push 0x474f4c58
dec esp
dec edi
inc edi
push ebx
pop eax
dec ecx
dec ecx
dec esi
pop edx
dec esi
inc edi
push 0x5e
arpl word [ebp + 0x79], dx
inc esi
dec eax
pop edi
pop esi
push bx
pop edx
dec ebp
pop edx
pushal
dec ecx
imul ebx, dword fs:[ecx + 0x58], 0x47
insb byte es:[edi], dx
outsb dx, byte [esi]
dec edi
dec esi
push esi
inc esp
push ebp
push ebp
jns 0x53a991
push edi
outsd dx, dword [esi]
pop esp
insb byte es:[edi], dx
push ebp
inc ecx
inc edi
jns 0x53a9af
push edi
cmp dword [esp + 0x34], 0x9a0b29b1
cmove edx, edx
call 0x53a9b6
lea esi, [esi + 0x30]
push edx
push 1
push 0
xor byte [edx + 0x6a], dl
add dword [edx], ebp
mov eax, dword [ebp + 0xc]
pop edi
dec esi
inc eax
inc eax
push esi
js 0x53a9cb
bound ecx, qword [ebp + 0x49]
push esp
pushal
dec ebx
arpl word [ebx - 0x58], ax
add dword [ebx + 0x78], esp
push esp
dec ecx
imul sp, word [esi + 0x56], 0x42
inc ebx
push 0x5c
fld dword [ebx]
push edx
arpl ax, bp
mov ebp, 0x8bffff79
fmul st(3)
mov eax, dword [ebp + 8]
jns 0x53aa0f
dec esi
cmp bl, ch
inc ebx
sbb byte [esi - 0x77], bl
test dword [eax + edi*8 + 0xae8ffff], edx
jne 0x53a9b2
or dh, byte [ebp]
add bl, al
pop ebp
push dword [esp]
add dword [esp], 0xfff785fd
add dword [esp + 4], 0xa3
ret
pop esi
push ebx
inc esi
dec edx
inc ebp
dec ebx
dec eax
pop ebx
push esp
je 0x53a9db
js 0x53aa37
push 0x64515f4c
inc ecx
pop edi
push ecx
inc ecx
mov edi, edi
jmp 0x53aa05
dec edi
jnp 0x53a993
push esp
and al, 0x10
pop ecx
call 0x53aa76
add byte [eax], al
push esi
inc esp
insd dword es:[edi], dx
push ebx
dec esp
pop esp
inc ebx
insb byte es:[edi], dx
push 0x6e
inc ebx
inc edx
inc esi
push esp
js 0x53aa90
pop edi
outsb dx, byte [esi]
push ecx
js 0x53aaa3
dec di
dec ecx
pushal
inc esp
insb byte es:[edi], dx
dec ebx
push edx
push 0x57
imul eax, dword [ebp + 0x69], 0x5a5b4c4c
pop ebx
pop edx
dec eax
pop ecx
push edi
jnp 0x53aa8e
bound ecx, qword [ebx + 0x51]
jnp 0x53aaae
dec eax
dec esi
dec esi
push esi
imul ebp, dword [ebx + 0x54], 0x45
inc edx
push esp
push esp
push ecx
jns 0x53aaae
inc esi
pushal
insb byte es:[edi], dx
push ebx
outsb dx, byte [esi]
push cx
push edx
push 0x49565b4f
inc eax
push edx
push esp
push ebp
push 0x63564151
inc esi
pop edi
push esi
push ebx
inc ebp
push esi
pop ax
dec ebp
jns 0x53aad6
push edx
pushfd
add dword [esp + 4], 0x1a2
lock xchg dword [esp], eax
mov ah, al
sahf
pop eax
ret
push edx
js 0x53aad1
inc eax
insd dword es:[edi], dx
js 0x53ab02
insb byte es:[edi], dx
dec cx
pop edx
dec esi
inc esi
dec esp
dec ebx
push edi
inc esi
popal
dec ebx
dec ebp
inc ebx
popal
inc ecx
inc esi
pop edx
popal
push 0x60
dec ebp
inc edx
dec esi
inc ebp
inc ebx
push edx
bound esp, qword [edi + 0x79]
outsb dx, byte gs:[esi]
dec eax
push 0x4f
inc ebx
cmp esi, 0xffffffe0
jbe 0x53aeda
cmp edx, 0x6307548f
je 0x5751fa
add al, ch
pop edx
add byte [eax], al
call fcn.0053ab31
pop ebp
push ebx
add byte [ebp + 0x53], bl
push edi
outsb dx, byte [esi]
push edx
pop edi
cmp edx, 4
add eax, 0xffffffc9
cmp ecx, dword [ebp - 0x58]
arpl word [edi + edx*2 + 0x53], sp
dec esi
inc ebp
inc eax
dec ebx
push ebx
test bl, 8
test eax, eax
push 0x30
push ecx
pop ebx
js 0x53ab5d
jns 0x53ab64
pop eax
push edi
movdqa xmmword [edi], xmm1
shl ecx, 1
psrlw mm4, mm1
arpl word [ebx + 0x48], dx
and edi, ecx
dec ecx
inc edx
inc ebx
dec ebx
push eax
inc esp
mov dword [ebp - 0x24], eax
dec ecx
dec esi
insd dword es:[edi], dx
pop edx
cmp edx, edi
dec edi
push esi
push 0x7441594c
sysret
pop esp
dec ecx
pop ecx
shr edx, 1
xor esi, esi
jmp 0x53ab69
imul bl
add bl, byte [edi + 0x78]
push ebx
jns 0x53abbd
push ecx
push eax
push esp
jns 0x53abe9
test ah, 0x41
fstp qword ss:[esp]
mov eax, dword [edx*4 + 0x422020]
push eax
dec ebx
lea eax, [ebx + ebx]
mov dword [ebp - 0x1c], ecx
dec edi
jns 0x53abe9
outsb dx, byte [esi]
dec ebx
outsb dx, byte [esi]
dec esp
lea eax, [ebx + 1]
insd dword es:[edi], dx
imul esp, dword [ebx + 0x79], 0xfffffff7
int1
outsb dx, byte [esi]
dec ebx
jns 0x53abfe
push 0x5d
push ebp
jne 0x53abb7
test esi, esi
popal
cmp dword [esp + 0x54], 0xd3f3476b
cmove eax, ebp
mov dword [eax], 0xc
xor eax, eax
pop esi
cmp dword [esp + 0x30], 0x9a6fef11
je 0x6027a2
jl 0x53abdd
xor byte [ecx], dl
out dx, eax
outsd dx, dword [esi]
lcall 0xc, 0x7bde840f
pop edi
pop ebp
cmp dword [esp + 0x74], 0xab604b7d
jne 0x53ac36
and dword fs:[ebp - 0x3a4], 0
jne 0x53abe2
add al, 0xc7
inc ebp
cld
invalid
mov dword [ebp - 4], 0xfffffffe
je 0x53abf3
invalid
cmp al, 0x68
mov esi, dword [ebp + 0xc]
jns 0x53ac34
inc ebp
push esi
popal
dec ebx
xor eax, eax
pop esi
dec edx
inc esp
rcr byte [esi + 0x4a], 0x44
pop esi
pop ebx
push 0x79446d4d
push esi
outsb dx, byte [esi]
les eax, [esi]
add byte [esi + 0x5b], al
cmp al, 0x68
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x91c]
push ebp
inc esi
arpl word [ebp + 0x44], dx
push edi
dec ebx
js 0x53ac5a
inc esi
push ebx
pop eax
push esi
pop ebp
push ebp
pushal
push ebp
cmp dword [ebp - 0xc], 0x2d
mov dword [ebp - 0x1c], ebx
outsb dx, byte [esi]
dec ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
bound eax, qword [esi + 0x4c]
pop edi
pop edx
push dword [ebp + 0x20]
pop ebx
ret
ret
pop ecx
pushal
outsd dx, dword [esi]
bound esp, qword [edi + 0x4f]
push edi
push edi
push 0x60
pop esp
push edi
push 0x43417b7b
push esi
outsb dx, byte [esi]
insd dword es:[edi], dx
inc edi
dec edx
push 0x574e
inc ebp
imul esp, dword [esi + 0x45], 0x67
pop ebp
inc ebx
cmp ebp, 0x733ac015
cmove ebx, eax
push esi
cmp dword [esp - 0x14], 0xeb95abb1
jne 0x53aefe
push ebx
jns 0x53af3f
outsd dx, dword [esi]
inc ecx
dec ecx
push ebx
dec eax
pop edx
outsb dx, byte [esi]
js 0x53af45
push edi
push esi
dec ecx
push edi
cmp dword [esp + 0x14], 0x1cd242fb
jne 0x53af35
outsb dx, byte [esi]
add byte [edi + 0x7b], ah
inc esp
insb byte es:[edi], dx
pushal
arpl word [edx + 0x6a], sp
pop ebx
arpl word [ebx + 0x6c], dx
dec ebp
dec ebx
pop edi
dec esp
inc ecx
push dword [ebp + 0x24]
pushal
outsb dx, byte [esi]
pop edi
jne 0x53af29
pop ebx
push ecx
dec ebx
pop ebp
xor eax, dword [ecx + 8]
pop esp
insb byte es:[edi], dx
inc ecx
or byte [esp + 0x6c], bl
push 0x615d6058
bound ebp, qword [ebp + 0x6a]
add byte [ecx + 0x68273fb], al
push esi
push 0
cmp ebx, 0x56068273
jne 0x53af9c
insd dword es:[edi], dx
dec ebp
inc edi
jnp 0x53af8e
dec ebx
imul eax, dword [esi + 0x45], 0x69
push edx
push edx
inc edi
pop edx
pop edx
dec edi
dec esi
inc edi
inc esp
push edi
pop ebp
js 0x53af9b
push 0x52
pop eax
pop edx
inc ebx
pop ecx
inc esp
pop ebp
dec esp
popal
push 0x58666b5b
imul ebx, dword [esi + 0x4a], 0x4b
bound esp, qword [esi + 0x61]
inc edx
pop eax
pop esp
inc esp
insb byte es:[edi], dx
dec ebp
dec bp
dec edi
insb byte es:[edi], dx
pop ebp
outsd dx, dword [si]
pop edi
js 0x53afc0
push ebp
dec esi
imul ebx, dword [ebx + 0x4d], 0x6c6f465e
push esi
outsd dx, dword fs:[esi]
pop ebx
dec ebp
inc edi
imul ebx, dword [eax + 0x62], 0x54
push ebp
push esi
push ecx
dec edi
imul ebp, dword [eax + 0x40], 0x4a
dec edx
push 0
call 0x53afa3
mov dword [esp], ebp
call 0x53aff2
inc edx
popal
inc edx
push ecx
pop esp
dec ebp
dec esp
pop ecx
push ebp
bound ebp, qword [ecx + 0x40]
dec ecx
push edi
dec eax
push 0x416a5845
inc ebp
dec ecx
dec esi
insd dword es:[edi], dx
push edx
imul esp, dword [ebx + 0x69], 0x5b685f46
dec ebx
push 0x516b664a
pop edx
push esp
inc esp
inc edx
pop esp
bound ebp, qword [eax + 0x5f]
push ebx
dec ecx
push ebx
insb byte es:[edi], dx
imul eax, dword [esi + 0x6a], 0x52
inc ebp
push ebx
dec ecx
push 0x5e535861
inc eax
dec ecx
dec esi
push 0x61495747
mov ebp, dword [esp]
lea esp, [esp + 4]
push edi
add ebp, 0x1d191664
mov edi, dword [ebp - 0x1d2aa25f]
mov dword [esp + 8], edi
pop edi
pop ebp
call 0x53b08c
pmovmskb edi, xmm0
jnp 0x53b076
push ebx
jnp 0x53b083
jmp 0x5ec10057
pushal
dec ecx
outsd dx, dword [esi]
pop esi
inc esi
inc edx
dec eax
pop ebx
jns 0x53b0c1
outsd dx, dword [esi]
pop edi
pushal
pop edx
outsb dx, byte [esi]
push 0x47
jmp 0x35537421
lock xchg word [esp], ax
call 0x53b0cb
mov dword [esp], edx
call 0x53b118
jmp 0x53b0d8
dec edi
bound ebx, qword [ebx + ebx*2 + 0x5e]
insb byte es:[edi], dx
push 0x12
jnp 0x53b126
jns 0x53b117
rcl byte [ebx - 0x7d], 0xec
and byte [ebx + 0x4219ec3d], al
add byte [ecx], al
inc ebp
insb byte es:[edi], dx
outsb dx, byte [esi]
dec edx
pop ebx
pop ebp
outsd dx, dword [esi]
jmp 0x644bec39
insb byte es:[edi], dx
mov edx, dword [esp]
lea esp, [esp + 4]
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, 0xe4
cmove ecx, dword [esp + 0xa]
add ecx, edx
mov dword [esp + 0xa], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
pop edx
lock xchg word [esp], ax
sahf
pop ax
ret