Function at 0x46d948
Capabilities:
Check for trap flag exception

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x503018
push 0x4e39d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xfffff8c0
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov byte [ebp - 0x28], 1
mov eax, dword [0x50105c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [0x5011dc]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [0x5011e0]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
push 0x4c718c
call dword [fcn.00501120]
add esp, 4
mov eax, dword [0x5012a0]
xor eax, dword [0x50125c]
push eax
call dword [0x501058]
push eax
push 0x501518
lea ecx, [ebp - 0x12c]
push ecx
call dword [0x501134]
add esp, 0x10
lea edx, [ebp - 0x12c]
push edx
push 0
push 0x1f0001
call dword [0x501054]
test eax, eax
je 0x46d9fc
mov byte [ebp - 0x28], 0
mov eax, dword [ebp - 0x28]
and eax, 0xff
test eax, eax
je 0x46dba5
mov ecx, dword [0x501290]
xor ecx, dword [0x5012a4]
xor ecx, dword [0x5012a8]
and ecx, 0x20
test ecx, ecx
je 0x46dba5
mov edx, dword [0x50129c]
xor edx, dword [0x501278]
xor edx, dword [0x5012a0]
push edx
push 0x501510
lea eax, [ebp - 0x12c]
push eax
call dword [0x501134]
add esp, 0xc
lea ecx, [ebp - 0x12c]
push ecx
push 0
push 0
call dword [0x501050]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x46dba5
call dword [0x5010e4]
cmp eax, 0xb7
jne 0x46dba5
push 0x7530
mov edx, dword [ebp - 0x130]
push edx
call dword [0x50104c]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x46dab7
cmp dword [ebp - 0x134], 0x80
jne 0x46db9b
mov eax, dword [0x50129c]
xor eax, dword [0x501278]
xor eax, dword [0x5012a0]
push eax
push 0x501508
lea ecx, [ebp - 0x12c]
push ecx
call dword [0x501134]
add esp, 0xc
mov dword [ebp - 0x13c], 0
jmp 0x46daf9
mov edx, dword [ebp - 0x13c]
add edx, 1
mov dword [ebp - 0x13c], edx
cmp dword [ebp - 0x13c], 0x12c
jge 0x46db32
lea eax, [ebp - 0x12c]
push eax
push 0x5014fc
call dword [0x5011e4]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
je 0x46db28
jmp 0x46db32
push 0x64
call dword [0x501048]
jmp 0x46daea
cmp dword [ebp - 0x138], 0
je 0x46db8e
mov ecx, dword [0x50129c]
xor ecx, dword [0x501278]
xor ecx, dword [0x5012a0]
mov dword [ebp - 0x148], ecx
mov edx, dword [0x504248]
push edx
call fcn.004891ce
add esp, 4
add eax, 1
mov dword [ebp - 0x144], eax
mov eax, dword [0x504248]
mov dword [ebp - 0x140], eax
lea ecx, [ebp - 0x148]
push ecx
push 0
push 0x4a
mov edx, dword [ebp - 0x138]
push edx
call dword [0x5011e8]
mov eax, dword [ebp - 0x130]
push eax
call dword [0x501044]
mov eax, 1
jmp 0x46e1bf
push 1
call fcn.0046e1d0
add esp, 4
mov ecx, dword [ebp - 0x28]
and ecx, 0xff
test ecx, ecx
je 0x46dd90
mov edx, dword [0x501290]
xor edx, dword [0x5012a4]
xor edx, dword [0x5012a8]
and edx, 0x40
test edx, edx
jne 0x46dd90
push 0x200
lea eax, [ebp - 0x348]
push eax
push 0x5014f4
call dword [0x5010f8]
test eax, eax
jne 0x46dd90
push 0xc8
push 0x23
lea ecx, [ebp - 0x348]
push ecx
call fcn.00489184
add esp, 0xc
mov byte [ebp - 0x280], 0
mov dword [ebp - 0x44c], 1
jmp 0x46dc34
mov edx, dword [ebp - 0x44c]
add edx, 1
mov dword [ebp - 0x44c], edx
cmp dword [ebp - 0x44c], 0x40
jg 0x46dc6f
mov eax, dword [ebp - 0x44c]
push eax
push 0x5014ec
lea ecx, [ebp - 0x448]
push ecx
call dword [0x501134]
add esp, 0xc
lea edx, [ebp - 0x348]
push edx
lea eax, [ebp - 0x448]
push eax
call dword [0x501100]
jmp 0x46dc25
mov ecx, dword [0x501290]
xor ecx, dword [0x5012a4]
xor ecx, dword [0x5012a8]
and ecx, 0x10
test ecx, ecx
jne 0x46dd90
lea edx, [ebp - 0x5a4]
push edx
call dword [0x501040]
mov al, byte [0x504234]
mov byte [ebp - 0x6a8], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x6a7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x504234]
mov byte [ebp - 0x560], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x55f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp dword [0x504240], 1
jne 0x46dd0a
cmp dword [ebp - 0x598], 0
jne 0x46dd0a
lea edx, [ebp - 0x6a8]
push edx
call fcn.0047a04d
add esp, 4
and eax, 0xff
test eax, eax
je 0x46dd0a
lea eax, [ebp - 0x6a8]
mov dword [ebp - 0x598], eax
push 0x104
lea ecx, [ebp - 0x560]
push ecx
push 0
call dword [0x50103c]
test eax, eax
jne 0x46dd29
xor eax, eax
jmp 0x46e1bf
lea edx, [ebp - 0x45c]
push edx
lea eax, [ebp - 0x5a4]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
call dword [0x501038]
push eax
lea ecx, [ebp - 0x560]
push ecx
call dword [0x501034]
test eax, eax
jne 0x46dd86
mov dword [0x50447c], 6
call dword [0x5010e4]
push eax
push 0x5014cc
push 0x504480
call dword [0x501134]
add esp, 0xc
xor eax, eax
jmp 0x46e1bf
mov eax, 1
jmp 0x46e1bf
mov edx, dword [0x501290]
xor edx, dword [0x5012a4]
xor edx, dword [0x5012a8]
and edx, 0x10
test edx, edx
je 0x46e06d
mov eax, dword [0x5012a0]
xor eax, dword [0x50125c]
push eax
call dword [0x501058]
push eax
push 0x501518
lea ecx, [ebp - 0x12c]
push ecx
call dword [0x501134]
add esp, 0x10
lea edx, [ebp - 0x12c]
push edx
push 0
push 0x1f0001
call dword [0x501054]
test eax, eax
jne 0x46e06d
push 1
call dword [0x501030]
push eax
call dword [0x50102c]
mov byte [ebp - 0x6ac], 0
push 0x5014c0
call dword [fcn.005010e0]
mov dword [ebp - 0x6b0], eax
cmp dword [ebp - 0x6b0], 0
je 0x46de53
push 0x5014ac
mov eax, dword [ebp - 0x6b0]
push eax
call dword [fcn.005010e8]
mov dword [ebp - 0x748], eax
cmp dword [ebp - 0x748], 0
je 0x46de53
call dword [ebp - 0x748]
test eax, eax
je 0x46de53
mov byte [ebp - 0x6ac], 1
mov dword [ebp - 0x744], 0x94
lea ecx, [ebp - 0x744]
push ecx
call dword [0x501080]
cmp dword [ebp - 0x734], 2
je 0x46dee0
mov byte [ebp - 0x74c], 0
mov dword [ebp - 4], 0
pushf
pop eax
or eax, 0x100
push eax
popf
nop
mov dword [ebp - 4], 0xffffffff
jmp 0x46dec9
mov edx, dword [ebp - 0x74c]
and edx, 0xff
test edx, edx
jne 0x46dee0
mov byte [0x504704], 1
cmp dword [ebp - 0x734], 2
jne 0x46df4a
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 0x46df0c
add ebp, ebx
and ch, bl
jmp 0x46df2d
xor ebx, ebx
je 0x46df10
jmp 0x46df1f
mov ecx, 0x34f9c987
nop
stc
je 0x46df23
jmp 0x46df53
xor eax, eax
je 0x46df15
mov eax, 0x4840c987
test eax, eax
jne 0x46df09
jmp 0x92ad7c92
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 0x46df61
jmp 0x46dfd2
jo 0x46df53
jl 0x46df51
jmp 0x46df55
je 0x46df4e
jmp 0x46df4e
mov eax, dword fs:[0x20]
or eax, eax
jne 0x46df61
jmp 0x46dfd2
pushal
xor eax, eax
jne 0x46df68
jmp 0x46df7d
jmp 0x46df9d
xor eax, eax
jne 0x46df85
jp 0x46df7b
jo 0x46df7f
jmp 0x46df80
jb 0x46df84
jns 0x46df69
call dword [0x74097900]
invalid
jns 0x46df86
je 0x46df6f
jmp 0x46df08
xchg ebx, ebx
jp 0x46df74
mov al, byte [0x5c66133]
push 0x1005044
xor esp, dword [ecx - 0x3a]
add eax, 0x504468
add dword [eax - 9], edx
ror byte [edi], 1
enter 0x7358, 0
popal
mov byte [0x504468], 1
push eax
not eax
bswap eax
pop eax
jae 0x46df96
pushfd
pushal
jmp 0x46dfc5
sub edx, edx
jo 0x46dfab
jmp 0x46dfbc
xor ecx, ecx
je 0x46dfa3
jmp 0x46dfb5
stc
xor ecx, 3
je 0x46df3b
jmp 0x46dfb2
jmp 0x46dfc0
jae 0x46dfae
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x46dfa5
jmp 0x46df9f
sbb al, 0xdb
jmp 0x46dfc8
jmp 0x46df99
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
mov eax, dword [ebp - 0x6ac]
and eax, 0xff
test eax, eax
je 0x46e010
call dword [0x501058]
push eax
push 0x5014a4
lea ecx, [ebp - 0x12c]
push ecx
call dword [0x501134]
add esp, 0xc
lea edx, [ebp - 0x12c]
push edx
push 0
push 0
call dword [0x501050]
jmp 0x46e06d
xor eax, eax
cmp dword [0x504240], 0
sete al
push eax
call fcn.0047a5c6
add esp, 4
and eax, 0xff
test eax, eax
jne 0x46e059
mov dword [0x50447c], 6
call dword [0x5010e4]
push eax
push 0x501494
push 0x504480
call dword [0x501134]
add esp, 0xc
xor eax, eax
jmp 0x46e1bf
push 0
call fcn.0046e1d0
add al, ch
jo 0x46e05f
add byte [eax], al
add byte [ebx + 0x1b804c4], al
add byte [eax], al
add cl, ch
push edx
add dword [eax], eax
add al, ch
inc edx
jmp 0x45d0e073
add esp, 4
mov eax, 1
jmp 0x46e1bf
call fcn.0046c9b4
mov dword [ebp - 0x1c], eax
pushal
xor eax, eax
jne 0x46e07c
jmp 0x46e091
jmp 0x46e0b1
xor eax, eax
jne 0x46e099
jp 0x46e08f
jo 0x46e093
jmp 0x46e094
jb 0x46e098
jns 0x46e07d
call dword [0x74097900]
invalid
jns 0x46e09a
je 0x46e083
jmp 0x46e01c
xchg ebx, ebx
jp 0x46e088
mov al, byte [0xd8b6133]
fcom dword [eax]
push eax
add byte [ecx - 0x18], dl
mov eax, dword [0x83ffffe8]
les eax, [eax + ecx*4]
inc ebp
loopne 0x46e0fe
xor esp, dword [ecx - 0x75]
or eax, 0x5010d8
popal
mov ecx, dword [0x5010d8]
push ecx
call 0x46c948
add esp, 4
mov byte [ebp - 0x20], al
push eax
not eax
bswap eax
pop eax
jae 0x46e0b5
enter 0x7358, 0
pushfd
pushal
jmp 0x46e0e4
sub edx, edx
jo 0x46e0ca
jmp 0x46e0db
xor ecx, ecx
je 0x46e0c2
jmp 0x46e0d4
stc
xor ecx, 3
je 0x46e05a
jmp 0x46e0d1
jmp 0x46e0df
jae 0x46e0cd
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x46e0c4
jmp 0x46e0be
sbb al, 0xdb
jmp 0x46e0e7
jmp 0x46e0b8
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
mov edx, dword [ebp - 0x20]
and edx, 0xff
test edx, edx
je 0x46e10d
mov eax, dword [0x501240]
xor eax, 0x7c3
mov dword [0x501240], eax
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 0x46e130
jmp 0x46e151
xor ebx, ebx
je 0x46e134
jmp 0x46e143
mov ecx, 0x34f9c987
nop
stc
je 0x46e147
jmp 0x46e177
xor eax, eax
je 0x46e139
mov eax, 0x4840c987
test eax, eax
jne 0x46e12d
jmp 0x92ad7eb6
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
push 0
call fcn.0046e1d0
add esp, 4
push 0
call dword [fcn.00501120]
add esp, 4
cmp dword [ebp - 0x1c], 1
jne 0x46e185
push 0x504240
call dword [0x504264]
push eax
add bh, bh
adc eax, 0x504264
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x4c718c
call dword [fcn.00501120]
add esp, 4
cmp dword [fcn.00504260], 0
je 0x46e1a2
call dword [fcn.00504260]
cmp dword [fcn.00504474], 0
je 0x46e1bc
push 0
push 0
mov ecx, dword [0x504470]
push ecx
call dword [fcn.00504474]
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