Function at 0x50f696
Capabilities:
Check for trap flag exception
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53d790
push 0x5237d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xfffff8c4
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov byte [ebp - 0x24], 1
mov eax, dword [0x539198]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [0x539204]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [0x539208]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
push 0x50e62c
call fcn.005236b2
add esp, 4
mov eax, dword [0x539360]
xor eax, dword [0x539354]
push eax
call dword [0x5391ac]
push eax
push 0x539604
lea ecx, [ebp - 0x128]
push ecx
call fcn.00523660
add esp, 0x10
lea edx, [ebp - 0x128]
push edx
push 0
push 0x1f0001
call dword [0x53908c]
test eax, eax
je 0x50f748
mov byte [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
and eax, 0xff
test eax, eax
je 0x50f8ef
mov ecx, dword [0x539334]
xor ecx, dword [0x53933c]
xor ecx, dword [0x539320]
and ecx, 0x20
test ecx, ecx
je 0x50f8ef
mov edx, dword [0x539394]
xor edx, dword [0x539310]
xor edx, dword [0x539360]
push edx
push 0x5395fc
lea eax, [ebp - 0x128]
push eax
call fcn.00523660
add esp, 0xc
lea ecx, [ebp - 0x128]
push ecx
push 0
push 0
call dword [0x539088]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x50f8ef
call dword [0x539058]
cmp eax, 0xb7
jne 0x50f8ef
push 0x7530
mov edx, dword [ebp - 0x12c]
push edx
call dword [0x539084]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x50f802
cmp dword [ebp - 0x130], 0x80
jne 0x50f8e5
mov eax, dword [0x539394]
xor eax, dword [0x539310]
xor eax, dword [0x539360]
push eax
push 0x5395f4
lea ecx, [ebp - 0x128]
push ecx
call fcn.00523660
add esp, 0xc
mov dword [ebp - 0x138], 0
jmp 0x50f843
mov edx, dword [ebp - 0x138]
add edx, 1
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x138], 0x12c
jge 0x50f87c
lea eax, [ebp - 0x128]
push eax
push 0x5395e8
call dword [0x53920c]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x50f872
jmp 0x50f87c
push 0x64
call dword [0x53919c]
jmp 0x50f834
cmp dword [ebp - 0x134], 0
je 0x50f8d8
mov ecx, dword [0x539394]
xor ecx, dword [0x539310]
xor ecx, dword [0x539360]
mov dword [ebp - 0x144], ecx
mov edx, dword [0x53f570]
push edx
call fcn.005233e0
add esp, 4
add eax, 1
mov dword [ebp - 0x140], eax
mov eax, dword [0x53f570]
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x144]
push ecx
push 0
push 0x4a
mov edx, dword [ebp - 0x134]
push edx
call dword [0x539238]
mov eax, dword [ebp - 0x12c]
push eax
call dword [0x539080]
mov eax, 1
jmp 0x50fe6d
push 1
call fcn.0050fe7e
add esp, 4
mov ecx, dword [ebp - 0x24]
and ecx, 0xff
test ecx, ecx
je 0x50faea
mov edx, dword [0x539334]
xor edx, dword [0x53933c]
xor edx, dword [0x539320]
and edx, 0x40
test edx, edx
jne 0x50faea
push 0x200
lea eax, [ebp - 0x344]
push eax
push 0x5395e0
call dword [0x539048]
test eax, eax
jne 0x50faea
push 0xc8
push 0x23
lea ecx, [ebp - 0x344]
push ecx
call fcn.00523160
add esp, 0xc
mov byte [ebp - 0x27c], 0
mov dword [ebp - 0x448], 1
jmp 0x50f97e
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0x40
jg 0x50f9b8
mov eax, dword [ebp - 0x448]
push eax
push 0x5395d8
lea ecx, [ebp - 0x444]
push ecx
call fcn.00523660
add esp, 0xc
lea edx, [ebp - 0x344]
push edx
lea eax, [ebp - 0x444]
push eax
call dword [0x53907c]
jmp 0x50f96f
mov ecx, dword [0x539334]
xor ecx, dword [0x53933c]
xor ecx, dword [0x539320]
and ecx, 0x10
test ecx, ecx
jne 0x50faea
lea edx, [ebp - 0x5a0]
push edx
call dword [0x539078]
mov al, byte [0x53f55c]
mov byte [ebp - 0x6a4], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x6a3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x53f55c]
mov byte [ebp - 0x55c], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x55b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp dword [0x53f568], 1
jne 0x50fa53
cmp dword [ebp - 0x594], 0
jne 0x50fa53
lea edx, [ebp - 0x6a4]
push edx
call fcn.005117bf
add esp, 4
and eax, 0xff
test eax, eax
je 0x50fa53
lea eax, [ebp - 0x6a4]
mov dword [ebp - 0x594], eax
push 0x104
lea ecx, [ebp - 0x55c]
push ecx
push 0
call dword [0x5391b0]
test eax, eax
jne 0x50fa72
xor eax, eax
jmp 0x50fe6d
lea edx, [ebp - 0x458]
push edx
lea eax, [ebp - 0x5a0]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
call dword [0x539074]
push eax
lea ecx, [ebp - 0x55c]
push ecx
call dword [0x539070]
test eax, eax
jne 0x50face
mov dword [0x53f7a4], 6
call dword [0x539058]
push eax
push 0x5395b8
push 0x53f7a8
call fcn.00523660
add esp, 0xc
xor eax, eax
jmp 0x50fe6d
push 0x2710
mov edx, dword [ebp - 0x458]
push edx
call dword [0x539210]
mov eax, 1
jmp 0x50fe6d
mov eax, dword [0x539334]
xor eax, dword [0x53933c]
xor eax, dword [0x539320]
and eax, 0x10
test eax, eax
je 0x50fde4
mov ecx, dword [0x539360]
xor ecx, dword [0x539354]
push ecx
call dword [0x5391ac]
push eax
push 0x539604
lea edx, [ebp - 0x128]
push edx
call fcn.00523660
add esp, 0x10
lea eax, [ebp - 0x128]
push eax
push 0
push 0x1f0001
call dword [0x53908c]
test eax, eax
jne 0x50fde2
push 1
call dword [0x53906c]
push eax
call dword [0x539068]
mov byte [ebp - 0x6a8], 0
push 0x5395ac
call dword [0x53905c]
mov dword [ebp - 0x6ac], eax
cmp dword [ebp - 0x6ac], 0
je 0x50fbac
push 0x539598
mov ecx, dword [ebp - 0x6ac]
push ecx
call dword [0x539054]
mov dword [ebp - 0x744], eax
cmp dword [ebp - 0x744], 0
je 0x50fbac
call dword [ebp - 0x744]
test eax, eax
je 0x50fbac
mov byte [ebp - 0x6a8], 1
mov dword [ebp - 0x740], 0x94
lea edx, [ebp - 0x740]
push edx
call dword [0x539064]
cmp dword [ebp - 0x730], 2
je 0x50fc38
mov byte [ebp - 0x748], 0
mov dword [ebp - 4], 0
pushf
pop eax
or eax, 0x100
push eax
popf
nop
mov dword [ebp - 4], 0xffffffff
jmp 0x50fc22
mov eax, dword [ebp - 0x748]
and eax, 0xff
test eax, eax
jne 0x50fc38
mov byte [0x53fa54], 1
cmp dword [ebp - 0x730], 2
jne 0x50fca2
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x50fc64
add ebp, ebx
and ch, bl
jmp 0x50fc85
xor ebx, ebx
je 0x50fc68
jmp 0x50fc77
mov ecx, 0x34f9c987
nop
stc
je 0x50fc7b
jmp 0x50fcab
xor eax, eax
je 0x50fc6d
mov eax, 0x4840c987
test eax, eax
jne 0x50fc61
jmp 0x92b799ea
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
mov eax, dword fs:[0x30]
movzx eax, byte [eax + 2]
or al, al
jne 0x50fcb9
jmp 0x50fd2a
jo 0x50fcab
jl 0x50fca9
jmp 0x50fcad
je 0x50fca6
jmp 0x50fca6
mov eax, dword fs:[0x20]
or eax, eax
jne 0x50fcb9
jmp 0x50fd2a
pushal
xor eax, eax
jne 0x50fcc0
jmp 0x50fcd5
jmp 0x50fcf5
xor eax, eax
jne 0x50fcdd
jp 0x50fcd3
jo 0x50fcd7
jmp 0x50fcd8
jb 0x50fcdc
jns 0x50fcc1
call dword [0x74097900]
invalid
jns 0x50fcde
je 0x50fcc7
jmp 0x50fc60
xchg ebx, ebx
jp 0x50fccc
mov al, byte [0x5c66133]
nop
not dword [ebx]
xor esp, dword [ecx - 0x3a]
add eax, 0x53f790
popal
mov byte [0x53f790], 1
push eax
not eax
bswap eax
pop eax
jae 0x50fcee
add dword [eax - 9], edx
ror byte [edi], 1
enter 0x7358, 0
pushfd
pushal
jmp 0x50fd1d
sub edx, edx
jo 0x50fd03
jmp 0x50fd14
xor ecx, ecx
je 0x50fcfb
jmp 0x50fd0d
stc
xor ecx, 3
je 0x50fc93
jmp 0x50fd0a
jmp 0x50fd18
jae 0x50fd06
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x50fcfd
jmp 0x50fcf7
sbb al, 0xdb
jmp 0x50fd20
jmp 0x50fcf1
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
mov ecx, dword [ebp - 0x6a8]
and ecx, 0xff
test ecx, ecx
je 0x50fd68
call dword [0x5391ac]
push eax
push 0x539590
lea edx, [ebp - 0x128]
push edx
call fcn.00523660
add esp, 0xc
lea eax, [ebp - 0x128]
push eax
push 0
push 0
call dword [0x539088]
jmp 0x50fde2
mov ecx, dword [0x539314]
xor ecx, dword [0x53933c]
xor ecx, dword [0x539320]
and ecx, 2
test ecx, ecx
je 0x50fd86
call fcn.0050df7f
xor edx, edx
cmp dword [0x53f568], 0
sete dl
push edx
call fcn.0051250c
add esp, 4
and eax, 0xff
test eax, eax
jne 0x50fdce
mov dword [0x53f7a4], 6
call dword [0x539058]
push eax
push 0x539580
push 0x53f7a8
call fcn.00523660
add esp, 0xc
xor eax, eax
jmp 0x50fe6d
push 0
call fcn.0050fe7e
add esp, 4
mov eax, 1
jmp 0x50fe6d
jmp 0x50fe01
mov eax, dword [0x539314]
xor eax, dword [0x53933c]
xor eax, dword [0x539320]
and eax, 2
test eax, eax
je 0x50fe01
call fcn.0050df7f
call fcn.0050e65b
mov dword [ebp - 0x1c], eax
push 0
call fcn.0050fe7e
add esp, 4
push 0
call fcn.005236b2
add esp, 4
cmp dword [ebp - 0x1c], 1
jne 0x50fe34
push 0x53f568
call dword [0x53f58c]
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x50e62c
call fcn.005236b2
add esp, 4
cmp dword [0x53f588], 0
je 0x50fe50
call dword [0x53f588]
cmp dword [0x53f79c], 0
je 0x50fe6a
push 0
push 0
mov ecx, dword [0x53f798]
push ecx
call dword [0x53f79c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret