Function at 0x40e594
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov eax, dword [ebp + 4]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0xb6b84a9d
mov edi, dword [ebp - 0x3c]
mov bl, byte [ebp - 0x15]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0xd7079ddb
jle 0x40e634
cmp eax, 0x6610954
jle 0x40e67e
cmp eax, 0x3ebb34a6
jle 0x40e731
cmp eax, 0x630777f4
jle 0x40e854
cmp eax, 0x630777f5
je 0x40e713
cmp eax, 0x66e71dfc
je 0x40ea7c
cmp eax, 0x7ecb0972
jne 0x40e5bc
imul edi, edi, 0x73
shr edi, 9
add edi, 0x2a
shr edi, 6
add edi, 0xffffff99
push edi
call fcn.0040ed31
add esp, 4
mov eax, 0x66e71dfc
cmp edi, 0x7c
jb 0x40ec20
mov eax, 0xbab24ea3
jmp 0x40ec20
cmp eax, 0xbab24ea2
jle 0x40e6ba
cmp eax, 0xc97a4cd9
jle 0x40e767
cmp eax, 0xceb89f53
jle 0x40e87d
cmp eax, 0xceb89f54
je 0x40eab8
cmp eax, 0xd0905a80
je 0x40ead3
cmp eax, 0xd3aa9fc6
jne 0x40e5bc
mov dword [ebp - 0x10], 0xceb89f54
jmp 0x40e5bc
cmp eax, 0xec948aa2
jg 0x40e7a9
cmp eax, 0xdeb94a34
jle 0x40e8ca
cmp eax, 0xdeb94a35
je 0x40eb09
cmp eax, 0xebc7d899
je 0x40ea5e
cmp eax, 0xe3e203cd
jne 0x40e5bc
jmp 0x40ed10
cmp eax, 0x9bbcc364
jg 0x40e7e4
cmp eax, 0x88a3f493
jg 0x40e8e5
cmp eax, 0x80d61a96
je 0x40ea23
cmp eax, 0x855476af
jne 0x40e5bc
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax]
mov word [ebp - 0x20], ax
xor ebx, ebx
movzx eax, word [ebp - 0x20]
test ax, ax
je 0x40e86a
cmp ax, 0x2a
je 0x40ea23
cmp ax, 0x3f
jne 0x40ea5e
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0xc8eb5412
jmp 0x40e5bc
cmp eax, 0x1d1bfa04
jg 0x40e92f
cmp eax, 0x6610955
je 0x40eb2c
cmp eax, 0x1b4541f9
jne 0x40e5bc
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0xd7079ddc
jmp 0x40e5bc
cmp eax, 0xbda6ef7b
jg 0x40e975
cmp eax, 0xbab24ea3
je 0x40eb53
cmp eax, 0xbb1da567
jne 0x40e5bc
add edi, 0x6c
shr edi, 8
add edi, 0x8b
push edi
call fcn.0040ed31
add esp, 4
mov dword [ebp - 0x10], 0x6610955
jmp 0x40e5bc
cmp eax, 0xf4ed3cf1
jg 0x40e9c8
cmp eax, 0xec948aa3
je 0x40ec3f
cmp eax, 0xf27b69ff
jne 0x40e5bc
cmp word [ebp - 0x1e], 0
mov eax, 0x9bbcc365
je 0x40ec20
mov eax, 0x3ebb34a7
jmp 0x40ec20
cmp eax, 0xa397ae2f
jg 0x40e9f5
cmp eax, 0x9bbcc365
je 0x40eb76
cmp eax, 0xa17801ba
jne 0x40e5bc
add edi, 0xa1
shr edi, 0xe
push edi
push 0x6049
push 0x5177
push 0x6005
push 0x2f8b
call fcn.0040ed4e
add esp, 0x14
push 0x5b78
push edi
push 0x3988
push 0x2c09
push 0x3101
call fcn.0040ed4e
add esp, 0x14
mov dword [ebp - 0x10], 0xde454cd4
jmp 0x40e5bc
cmp eax, 0x3ebb34a7
je 0x40eb82
cmp eax, 0x5f925468
jne 0x40e5bc
mov eax, ebx
and al, 1
mov byte [ebp - 0x17], al
mov dword [ebp - 0x10], 0xe3e203cd
jmp 0x40e5bc
cmp eax, 0xc97a4cda
je 0x40ebbc
cmp eax, 0xcb360944
jne 0x40e5bc
mov eax, dword [ebp - 0x14]
shr eax, 0xe
lea ecx, [eax - 0x14]
imul ecx, ecx
imul edx, ecx, 0x6943
dec edx
shl eax, 0xa
add eax, 0xfffbec00
mov dword [ebp - 0x14], eax
mov eax, 0xf27b69ff
cmp edx, ecx
je 0x40e8bf
mov eax, 0x5f925468
mov dword [ebp - 0x10], eax
mov bl, byte [ebp - 0x16]
jmp 0x40e5bc
cmp eax, 0xd7079ddc
je 0x40ebcd
cmp eax, 0xde454cd4
je 0x40ec8b
jmp 0x40e5bc
cmp eax, 0x88a3f494
je 0x40ec70
cmp eax, 0x9228fb63
jne 0x40e5bc
mov ecx, dword [ebp - 0x14]
mov eax, 0xffffff54
add ecx, eax
imul eax, ecx, 0x198000
imul ecx, ecx
imul edx, ecx, 0x52b
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0xebc7d899
cmp edx, ecx
je 0x40ec20
mov eax, 0x630777f5
jmp 0x40ec20
cmp eax, 0x1d1bfa05
je 0x40ebf3
cmp eax, 0x2ad68011
jne 0x40e5bc
mov ecx, dword [ebp - 0x14]
shr ecx, 8
imul eax, ecx, 0x290
imul ecx, ecx
imul edx, ecx, 0x66af
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x7ecb0972
cmp edx, ecx
je 0x40ec20
mov eax, 0xdeb94a35
jmp 0x40ec20
cmp eax, 0xbda6ef7c
je 0x40ec28
cmp eax, 0xc8eb5412
jne 0x40e5bc
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0xdb]
imul ecx, ecx
imul edx, ecx, 0x2fb5
dec edx
add eax, 0x23d
mov dword [ebp - 0x14], eax
mov eax, 0x630777f5
cmp ecx, edx
je 0x40e9b4
mov eax, 0xb6b84a9d
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
jmp 0x40e5bc
cmp eax, 0xf4ed3cf2
je 0x40eca1
cmp eax, 0x2a0ca48
jne 0x40e5bc
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete byte [ebp - 0x16]
mov dword [ebp - 0x10], 0xcb360944
jmp 0x40e5bc
cmp eax, 0xa397ae30
je 0x40ecd0
cmp eax, 0xb6b84a9d
jne 0x40e5bc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0xd3aa9fc6
jmp 0x40e5bc
mov eax, dword [ebp - 0x14]
shr eax, 1
and eax, 0x3ffffff
mov ecx, eax
shl ecx, 6
lea ecx, [ecx + eax*2]
mov edx, eax
imul edx, eax
imul esi, edx, 0x7d61
dec esi
shr ecx, 0xa
mov dword [ebp - 0x14], ecx
mov eax, 0xbb1da567
cmp esi, edx
je 0x40ec20
mov eax, 0x1b4541f9
jmp 0x40ec20
movzx ecx, word [ebp - 0x1e]
mov eax, 0x9228fb63
cmp cx, word [ebp - 0x20]
je 0x40ea72
mov eax, 0x5f925468
mov dword [ebp - 0x10], eax
xor ebx, ebx
jmp 0x40e5bc
shr edi, 1
imul eax, edi, 0x8e
shr eax, 3
and eax, 0x1ffff000
imul edi, eax, 0x66
push edi
push 0x2b19
call fcn.0040e594
add esp, 8
mov eax, 0xa397ae30
cmp edi, 0x9f
jl 0x40ec20
mov eax, 0xd7079ddc
jmp 0x40ec20
mov eax, dword [ebp - 0x30]
cmp byte [eax], 0xcc
mov eax, 0x88a3f494
je 0x40ec20
mov eax, 0x1d1bfa05
jmp 0x40ec20
shl edi, 5
and edi, 0x3ffffe0
push edi
call fcn.0040ed31
add esp, 4
push 0x3f97
push edi
call fcn.0040e594
add esp, 8
mov eax, 0xceb89f54
cmp edi, 0x89
jb 0x40ec1b
jmp 0x40ec20
mov eax, dword [ebp - 0x24]
add eax, 2
push dword [ebp - 0x1c]
push eax
call fcn.0040e594
add esp, 8
test eax, eax
setne bl
mov dword [ebp - 0x10], 0x5f925468
jmp 0x40e5bc
shl edi, 0x1c
push edi
call fcn.0040ed31
add esp, 4
mov eax, 0xf4ed3cf2
cmp edi, 0xe7
jge 0x40ec20
mov eax, 0xde454cd4
jmp 0x40ec20
shl edi, 0xf
add edi, 0xffffff5e
push edi
push 0x20f4
call fcn.0040e594
add esp, 8
mov dword [ebp - 0x10], 0xc97a4cda
jmp 0x40e5bc
mov dword [ebp - 0x10], 0x2a0ca48
jmp 0x40e5bc
mov eax, dword [ebp - 0x14]
mov ecx, 0xffffff41
add eax, ecx
shr eax, 0xa
imul ecx, eax, 0x4c0
imul eax, eax
imul edx, eax, 0x488f
dec edx
shr ecx, 2
mov dword [ebp - 0x14], ecx
mov ecx, 0xde454cd4
cmp eax, edx
je 0x40ec68
mov ecx, 0x855476af
jmp 0x40ec68
mov dword [ebp - 0x10], 0xf27b69ff
mov edi, 0xf3
jmp 0x40e5bc
push dword [ebp - 0x48]
push dword [ebp - 0x24]
call fcn.0040e594
add esp, 8
mov ecx, 0x2ad68011
test eax, eax
je 0x40ebe9
mov ecx, 0x5f925468
mov dword [ebp - 0x10], ecx
mov bl, 1
jmp 0x40e5bc
mov eax, dword [ebp - 0x14]
shr eax, 5
imul ecx, eax, 0x37
shr ecx, 7
lea eax, [ecx - 0xb0]
imul ecx, ecx
imul edx, ecx, 0x4b2b
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0xceb89f54
cmp ecx, edx
je 0x40ec20
mov eax, 0xbda6ef7c
mov dword [ebp - 0x10], eax
jmp 0x40e5bc
mov eax, dword [ebp - 0x30]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x40ec70
movzx eax, ax
cmp eax, 0xf0b
jne 0x40ec8b
imul eax, dword [ebp - 0x14], 0x77
shr eax, 1
mov ecx, eax
shl ecx, 9
imul eax, eax
imul edx, eax, 0x1ce9
dec edx
add ecx, 0xffffffb0
mov dword [ebp - 0x14], ecx
mov ecx, 0xd0905a80
cmp edx, eax
je 0x40ec68
mov ecx, 0x88a3f494
mov dword [ebp - 0x10], ecx
jmp 0x40e5bc
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ebx
popal
jmp 0x40ec77
mov eax, dword [ebp - 0x24]
movzx eax, word [eax]
mov word [ebp - 0x1e], ax
mov dword [ebp - 0x10], 0xf27b69ff
jmp 0x40e5bc
add edi, 0xc4
push 0x309c
push 0x4e5f
push edi
push 0x15de
push 0x30df
call fcn.0040ed4e
add esp, 0x14
mov dword [ebp - 0x10], 0x855476af
jmp 0x40e5bc
add edi, 0xe9
shr edi, 1
add edi, 0x19
shr edi, 0xc
push edi
call fcn.0040ed31
add esp, 4
push edi
push 0x37db
push 0x103a
push 0x23f5
push 0x3103
call fcn.0040ed4e
add esp, 0x14
mov dword [ebp - 0x10], 0x1b4541f9
jmp 0x40e5bc
mov dword [ebp - 0x3c], edi
and bl, 1
mov byte [ebp - 0x15], bl
mov eax, dword [ebp - 0x28]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp + 0xc], eax
movzx eax, byte [ebp - 0x17]
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret