Function at 0x40ad17
Capabilities:
Check for trap flag exception

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4391f0
push 0x413a90
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 - 0x20], 1
push 0x409e0c
call fcn.0041396b
add esp, 4
mov eax, dword [0x436290]
xor eax, dword [0x436244]
push eax
call dword [0x436054]
push eax
push 0x43648c
lea ecx, [ebp - 0x128]
push ecx
call fcn.00413891
add esp, 0x10
lea edx, [ebp - 0x128]
push edx
push 0
push 0x1f0001
call dword [0x436050]
test eax, eax
je 0x40ad94
mov byte [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
and eax, 0xff
test eax, eax
je 0x40af3b
mov ecx, dword [0x4362a0]
xor ecx, dword [0x436268]
xor ecx, dword [0x436298]
and ecx, 0x20
test ecx, ecx
je 0x40af3b
mov edx, dword [0x436270]
xor edx, dword [0x436260]
xor edx, dword [0x436290]
push edx
push 0x436498
lea eax, [ebp - 0x128]
push eax
call fcn.00413891
add esp, 0xc
lea ecx, [ebp - 0x128]
push ecx
push 0
push 0
call dword [0x43604c]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x40af3b
call dword [0x43614c]
cmp eax, 0xb7
jne 0x40af3b
push 0x7530
mov edx, dword [ebp - 0x12c]
push edx
call dword [0x436048]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x40ae4e
cmp dword [ebp - 0x130], 0x80
jne 0x40af31
mov eax, dword [0x436270]
xor eax, dword [0x436260]
xor eax, dword [0x436290]
push eax
push 0x4364a0
lea ecx, [ebp - 0x128]
push ecx
call fcn.00413891
add esp, 0xc
mov dword [ebp - 0x138], 0
jmp 0x40ae8f
mov edx, dword [ebp - 0x138]
add edx, 1
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x138], 0x12c
jge 0x40aec8
lea eax, [ebp - 0x128]
push eax
push 0x4364a8
call dword [0x4361e0]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x40aebe
jmp 0x40aec8
push 0x64
call dword [0x436044]
jmp 0x40ae80
cmp dword [ebp - 0x134], 0
je 0x40af24
mov ecx, dword [0x436270]
xor ecx, dword [0x436260]
xor ecx, dword [0x436290]
mov dword [ebp - 0x144], ecx
mov edx, dword [0x4396f0]
push edx
call fcn.004138f0
add esp, 4
add eax, 1
mov dword [ebp - 0x140], eax
mov eax, dword [0x4396f0]
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x144]
push ecx
push 0
push 0x4a
mov edx, dword [ebp - 0x134]
push edx
call dword [0x4361e4]
mov eax, dword [ebp - 0x12c]
push eax
call dword [0x436040]
mov eax, 1
jmp 0x40b50b
push 1
call fcn.0040b51c
add esp, 4
mov ecx, dword [ebp - 0x20]
and ecx, 0xff
test ecx, ecx
je 0x40b124
mov edx, dword [0x4362a0]
xor edx, dword [0x436268]
xor edx, dword [0x436298]
and edx, 0x40
test edx, edx
jne 0x40b124
push 0x200
lea eax, [ebp - 0x344]
push eax
push 0x4364b4
call dword [0x43603c]
test eax, eax
jne 0x40b124
push 0xc8
push 0x23
lea ecx, [ebp - 0x344]
push ecx
call fcn.00413700
add esp, 0xc
mov byte [ebp - 0x27c], 0
mov dword [ebp - 0x448], 1
jmp 0x40afca
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0x40
jg 0x40b004
mov eax, dword [ebp - 0x448]
push eax
push 0x4364bc
lea ecx, [ebp - 0x444]
push ecx
call fcn.00413891
add esp, 0xc
lea edx, [ebp - 0x344]
push edx
lea eax, [ebp - 0x444]
push eax
call dword [0x436038]
jmp 0x40afbb
mov ecx, dword [0x4362a0]
xor ecx, dword [0x436268]
xor ecx, dword [0x436298]
and ecx, 0x10
test ecx, ecx
jne 0x40b124
lea edx, [ebp - 0x5a0]
push edx
call dword [0x436034]
mov al, byte [0x439a2c]
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 [0x439a30]
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 [0x4396e8], 1
jne 0x40b09f
cmp dword [ebp - 0x594], 0
jne 0x40b09f
lea edx, [ebp - 0x6a4]
push edx
call fcn.0040cc14
add esp, 4
and eax, 0xff
test eax, eax
je 0x40b09f
lea eax, [ebp - 0x6a4]
mov dword [ebp - 0x594], eax
push 0x104
lea ecx, [ebp - 0x55c]
push ecx
push 0
call dword [0x436030]
test eax, eax
jne 0x40b0be
xor eax, eax
jmp 0x40b50b
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 [0x43602c]
push eax
lea ecx, [ebp - 0x55c]
push ecx
call dword [0x4360b4]
test eax, eax
jne 0x40b11a
mov dword [0x439920], 6
call dword [0x43614c]
push eax
push 0x4364c4
push 0x439924
call fcn.00413891
add esp, 0xc
xor eax, eax
jmp 0x40b50b
mov eax, 1
jmp 0x40b50b
mov edx, dword [0x4362a0]
xor edx, dword [0x436268]
xor edx, dword [0x436298]
and edx, 0x10
test edx, edx
je 0x40b3f1
mov eax, dword [0x436290]
xor eax, dword [0x436244]
push eax
call dword [0x436054]
push eax
push 0x4364e4
lea ecx, [ebp - 0x128]
push ecx
call fcn.00413891
add esp, 0x10
lea edx, [ebp - 0x128]
push edx
push 0
push 0x1f0001
call dword [0x436050]
test eax, eax
jne 0x40b3f1
push 1
call dword [0x436138]
push eax
call dword [0x43613c]
mov byte [ebp - 0x6a8], 0
push 0x4364f0
call dword [0x436148]
mov dword [ebp - 0x6ac], eax
cmp dword [ebp - 0x6ac], 0
je 0x40b1e6
push 0x4364fc
mov eax, dword [ebp - 0x6ac]
push eax
call dword [0x436150]
mov dword [ebp - 0x744], eax
cmp dword [ebp - 0x744], 0
je 0x40b1e6
call dword [ebp - 0x744]
test eax, eax
je 0x40b1e6
mov byte [ebp - 0x6a8], 1
mov dword [ebp - 0x740], 0x94
lea ecx, [ebp - 0x740]
push ecx
call dword [0x436140]
cmp dword [ebp - 0x730], 2
je 0x40b273
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 0x40b25c
mov edx, dword [ebp - 0x748]
and edx, 0xff
test edx, edx
jne 0x40b273
mov byte [0x439a88], 1
cmp dword [ebp - 0x730], 2
jne 0x40b2b7
pushal
xor eax, eax
jne 0x40b283
jmp 0x40b298
jmp 0x40b2b8
xor eax, eax
jne 0x40b2a0
jp 0x40b296
jo 0x40b29a
jmp 0x40b29b
jb 0x40b29f
jns 0x40b284
call dword [0x74097900]
invalid
jns 0x40b2a1
je 0x40b28a
jmp 0x40b223
xchg ebx, ebx
jp 0x40b28f
invalid
mov al, byte [0xa1646133]
xor byte [eax], al
add byte [eax], al
xor esp, dword [ecx + 0x64]
mov eax, dword [0x30]
popal
mov eax, dword fs:[0x30]
movzx eax, byte [eax + 2]
or al, al
jne 0x40b2f7
jmp 0x40b358
pushfd
pushal
jmp 0x40b2e6
sub edx, edx
jo 0x40b2cc
jmp 0x40b2dd
xor ecx, ecx
je 0x40b2c4
jmp 0x40b2d6
stc
xor ecx, 3
je 0x40b25c
add esi, dword [eax + edx*4 - 0x15]
add eax, 0x7410ebb9
out dx, eax
jmp 0x40b2d3
jmp 0x40b2e1
jae 0x40b2cf
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x40b2c6
jmp 0x40b2c0
sbb al, 0xdb
jmp 0x40b2e9
jmp 0x40b2ba
popal
popfd
mov eax, dword fs:[0x20]
or eax, eax
jne 0x40b2f7
jmp 0x40b358
pushal
xor eax, eax
jne 0x40b2fe
jmp 0x40b313
jmp 0x40b333
xor eax, eax
jne 0x40b31b
jp 0x40b311
jo 0x40b315
jmp 0x40b316
jb 0x40b31a
jns 0x40b2ff
call dword [0x74097900]
invalid
jns 0x40b31c
je 0x40b305
jmp 0x40b29e
xchg ebx, ebx
jp 0x40b30a
mov al, byte [0x5c66133]
adc byte [ecx - 0x63feffbd], bl
xor esp, dword [ecx - 0x3a]
add eax, 0x439910
add dword [eax + 0x70d22beb], ebx
push cs
popal
mov byte [0x439910], 1
pushfd
pushal
jmp 0x40b353
sub edx, edx
jo 0x40b339
jmp 0x40b34a
xor ecx, ecx
je 0x40b331
jmp 0x40b343
stc
xor ecx, 3
je 0x40b2c9
jmp 0x40b340
jmp 0x40b34e
jae 0x40b33c
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x40b333
jmp 0x40b32d
sbb al, 0xdb
jmp 0x40b356
jmp 0x40b327
popal
popfd
mov eax, dword [ebp - 0x6a8]
and eax, 0xff
test eax, eax
je 0x40b395
call dword [0x436054]
push eax
push 0x436510
lea ecx, [ebp - 0x128]
push ecx
call fcn.00413891
add esp, 0xc
lea edx, [ebp - 0x128]
push edx
push 0
push 0
call dword [0x43604c]
jmp 0x40b3f1
xor eax, eax
cmp dword [0x4396e8], 0
sete al
push eax
call fcn.0040d0b9
add esp, 4
and eax, 0xff
rcl byte [eax - 0x18], 0x12
sbb eax, 0xc4830000
add al, 0x25
inc dword [eax]
add byte [eax], al
test eax, eax
jne 0x40b3dd
mov dword [0x439920], 6
call dword [0x43614c]
push eax
push 0x436518
push 0x439924
call fcn.00413891
add esp, 0xc
xor eax, eax
jmp 0x40b50b
push 0
call fcn.0040b51c
add esp, 4
mov eax, 1
jmp 0x40b50b
call fcn.00409e3b
mov dword [ebp - 0x1c], eax
pushal
xor eax, eax
jne 0x40b400
jmp 0x40b415
jmp 0x40b435
xor eax, eax
jne 0x40b41d
jp 0x40b413
jo 0x40b417
jmp 0x40b418
jb 0x40b41c
jns 0x40b401
call dword [0x74097900]
invalid
jns 0x40b41e
je 0x40b407
jmp 0x40b3a0
xchg ebx, ebx
jp 0x40b40c
mov al, byte [0xd8b6133]
inc esp
popal
inc ebx
add byte [ecx - 0x18], dl
movsd dword es:[edi], dword [esi]
xor esp, dword [ecx - 0x75]
or eax, 0x436144
popal
mov ecx, dword [0x436144]
push ecx
call 0x409dd0
add esp, 4
mov byte [ebp - 0x24], al
pushfd
pushal
jmp 0x40b460
jmp 0xc4c4b42c
sub edx, edx
jo 0x40b446
sal byte [eax + 0xe], cl
jmp 0x40b457
xor ecx, ecx
je 0x40b43e
jmp 0x40b450
stc
xor ecx, 3
je 0x40b3d6
jmp 0x40b44d
jmp 0x40b45b
jae 0x40b449
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x40b440
jmp 0x40b43a
sbb al, 0xdb
jmp 0x40b463
jmp 0x40b434
popal
popfd
mov edx, dword [ebp - 0x24]
and edx, 0xff
test edx, edx
je 0x40b481
mov eax, dword [0x43623c]
xor eax, 0x7c3
mov dword [0x43623c], eax
pushal
xor eax, eax
jne 0x40b488
jmp 0x40b49d
jmp 0x40b4bd
xor eax, eax
jne 0x40b4a5
jp 0x40b49b
jo 0x40b49f
jmp 0x40b4a0
jb 0x40b4a4
jns 0x40b489
call dword [0x74097900]
invalid
jns 0x40b4a6
je 0x40b48f
jmp 0x40b428
xchg ebx, ebx
jp 0x40b494
mov al, byte [0x6a6133]
xor esp, dword [ecx + 0x6a]
add al, ch
outsb dx, byte [esi]
add byte [eax], al
add byte [ebx + 0x6a04c4], al
popal
push 0
call fcn.0040b51c
add esp, 4
push 0
call fcn.0041396b
add esp, 4
cmp dword [ebp - 0x1c], 1
in al, 1
jne 0x40b4d2
push 0x4396e8
call dword [0x43970c]
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x409e0c
call fcn.0041396b
add esp, 4
cmp dword [0x439708], 0
je 0x40b4ee
call dword [0x439708]
cmp dword [0x439918], 0
je 0x40b508
push 0
push 0
mov ecx, dword [0x439914]
push ecx
call dword [0x439918]
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