Function at 0x40de96
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x130
push ebx
xor ebx, ebx
push esi
xor esi, esi
inc ebx
cmp dword [ebp + 0x7c], 2
push edi
mov byte [ebp + 0x67], 0
jne 0x40dea0
cmp byte [0x4673a5], 0
mov dword [ebp + 0x7c], ebx
jne 0x40dea0
invalid
mov byte [0x4673a5], bl
mov byte [ebp + 0x67], bl
cmp dword [0x4681f0], esi
je 0x40deb3
push esi
mov ecx, 0x4681d8
call fcn.0044374a
cmp dword [ebp + 0x78], 0x8000012f
push 0xa
pop edi
jne 0x40dec8
mov dword [ebp + 0x78], edi
mov byte [ebp + 0x38], 1
jmp 0x40ded6
cmp dword [ebp + 0x78], 5
setle byte [ebp + 0x38]
cmp byte [ebp + 0x38], 0
je 0x40dedb
mov dword [ebp + 0x18], esi
jmp 0x40dee4
call dword [0x45a26c]
mov dword [ebp + 0x18], eax
cmp dword [0x4693dc], esi
je 0x40def1
call fcn.0040ef89
cmp dword [0x468158], esi
mov byte [ebp + 0x6f], 0
je 0x40df0a
call fcn.0040dcec
test al, al
je 0x40df0a
mov byte [ebp + 0x6f], 1
cmp dword [ebp + 0x78], esi
jle 0x40e0df
cmp dword [ebp + 0x7c], ebx
jne 0x40e0df
inc dword [0x4673b4]
cmp byte [0x46739f], 0
mov byte [ebp + 0x66], 1
jne 0x40df49
push esi
push edi
push 9
push dword [0x467254]
call dword [0x45a4bc]
test eax, eax
setne al
mov byte [0x46739f], al
mov ebx, dword [ebp + 0x78]
mov byte [ebp + 0x63], 0
mov byte [ebp + 0x65], 0
mov esi, dword [0x45a26c]
call esi
cmp dword [ebp + 0x78], 0
mov edi, eax
jle 0x40e0e8
cmp byte [ebp + 0x65], 0
jne 0x40e0e8
cmp byte [0x4673a5], 0
jne 0x40e0f5
call fcn.0040de0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0
push 0
lea eax, [ebp + 0x40]
push eax
call dword [0x45a4c0]
cmp eax, 0xffffffff
je 0x40df54
call esi
mov ecx, eax
sub ecx, edi
cmp ecx, 3
jbe 0x40dfb6
mov dword [0x4681a8], eax
cmp dword [0x467b64], 0
je 0x40dfe3
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
push dword [ebp + 0x44]
push dword [ebp + 0x40]
call fcn.0040d93d
add esp, 0x18
test al, al
jne 0x40df54
cmp dword [0x46b3fc], 0
je 0x40e461
mov eax, dword [ebp + 0x40]
test eax, eax
je 0x40e461
cmp eax, dword [0x467254]
je 0x40e461
cmp dword [ebp + 0x44], 0x414
je 0x40e461
cmp dword [ebp + 0x44], 0x402
je 0x40e461
cmp dword [ebp + 0x44], 0x100
jne 0x40e3fe
mov eax, dword [ebp + 0x48]
cmp eax, 0x22
je 0x40e04e
cmp eax, 0x21
je 0x40e04e
cmp eax, 9
je 0x40e04e
cmp eax, 0x25
je 0x40e04e
cmp eax, 0x27
jne 0x40e32f
call dword [0x45a4c4]
mov esi, eax
test esi, esi
je 0x40e32f
push esi
call fcn.0043b97f
test eax, eax
pop ecx
je 0x40e32f
push eax
call fcn.004326c7
mov ebx, eax
test ebx, ebx
pop ecx
je 0x40e32f
cmp byte [ebx + 0x54], 0
je 0x40e32f
push 0
push esi
mov ecx, ebx
call fcn.00432668
mov edi, eax
test edi, edi
mov dword [ebp + 0x68], edi
je 0x40e32f
mov al, byte [edi + 4]
cmp al, 0xf
je 0x40e32f
xor esi, esi
cmp al, 0x13
mov eax, dword [ebp + 0x48]
jne 0x40e2af
cmp eax, 0x25
mov esi, edi
je 0x40e0c7
cmp eax, 0x27
jne 0x40e2af
cmp eax, 0x27
sete al
push 0
push 0
push eax
push edi
mov ecx, ebx
call fcn.00435ebf
jmp 0x40df54
mov byte [ebp + 0x66], 0
jmp 0x40df49
cmp byte [0x4673a5], 0
je 0x40e22c
call dword [0x45a4c8]
mov esi, eax
test esi, esi
je 0x40e22c
push 0
push esi
call dword [0x45a4cc]
cmp eax, dword [0x467c9c]
jne 0x40e22c
cmp dword [0x4673d8], 0
je 0x40e14b
push 0x20
lea eax, [ebp - 0x40]
push eax
push esi
call dword [0x45a4d0]
lea eax, [ebp - 0x40]
push 0x45a608
push eax
call fcn.004579f0
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp + 0x17], al
jne 0x40e192
call dword [0x45a4c4]
test eax, eax
je 0x40e22c
push 0x20
lea ecx, [ebp - 0x40]
push ecx
push eax
call dword [0x45a4d0]
lea eax, [ebp - 0x40]
push 0x45a5f8
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x40e192
lea eax, [ebp - 0x40]
push 0x45a5e8
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x40e22c
mov esi, dword [0x45a4d4]
xor eax, eax
push eax
push 0x1ff
push eax
push eax
lea eax, [ebp + 0x40]
push eax
call esi
test eax, eax
jne 0x40e1d1
push 1
call fcn.0040de0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0x20e
push 0
lea eax, [ebp + 0x40]
push eax
call esi
jmp 0x40e250
mov esi, dword [ebp + 0x50]
push 0
call fcn.0040de0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0x20e
push 0
lea eax, [ebp + 0x40]
push eax
call dword [0x45a4d4]
test eax, eax
push 1
je 0x40e20a
mov eax, dword [ebp + 0x50]
sub eax, esi
test eax, eax
jle 0x40e211
push 0x1ff
jmp 0x40e242
call fcn.0040de0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0x20e
jmp 0x40e244
push 1
call fcn.0040de0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0
lea eax, [ebp + 0x40]
push 0
push eax
call dword [0x45a4d4]
xor esi, esi
cmp eax, esi
jne 0x40dfb6
call dword [0x45a26c]
mov ecx, eax
sub ecx, edi
cmp ecx, 3
jbe 0x40e26e
mov dword [0x4681a8], eax
cmp dword [ebp + 0x78], esi
jne 0x40e289
cmp byte [ebp + 0x63], 0
jne 0x40e289
push esi
call dword [0x45a264]
mov byte [ebp + 0x63], 1
jmp 0x40df54
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.0040ef48
add esp, 0xc
test eax, eax
jne 0x40eeff
push 5
call dword [0x45a264]
jmp 0x40df54
cmp eax, 0x25
je 0x40e32f
cmp eax, 0x27
je 0x40e32f
push 0x11
call dword [0x45a4d8]
test ah, ah
jns 0x40e32f
cmp dword [ebp + 0x48], 9
jne 0x40e2df
cmp byte [edi + 4], 0xc
jne 0x40e2df
push 0xfffffffffffffff0
push dword [edi]
call dword [0x45a4dc]
test al, 4
jne 0x40e32f
test esi, esi
jne 0x40e304
xor eax, eax
mov al, byte [edi + 6]
mov ecx, ebx
push eax
call fcn.00432cbd
mov esi, eax
test esi, esi
jne 0x40e304
push eax
mov ecx, ebx
call fcn.00432cbd
mov esi, eax
test esi, esi
je 0x40e32f
cmp dword [ebp + 0x48], 0x22
je 0x40e320
cmp dword [ebp + 0x48], 9
jne 0x40e31c
push 0x10
call dword [0x45a4d8]
test ah, ah
jns 0x40e320
xor al, al
jmp 0x40e324
xor eax, eax
mov al, 1
push 1
push 1
push eax
push esi
jmp 0x40e0d3
cmp dword [ebp + 0x48], 0x1b
je 0x40e355
cmp dword [ebp + 0x48], 9
je 0x40e355
cmp dword [ebp + 0x48], 0x41
jne 0x40e3d8
push 0x11
call dword [0x45a4d8]
test ah, ah
jns 0x40e3d8
call dword [0x45a4c4]
mov esi, eax
test esi, esi
je 0x40e3d8
push esi
call fcn.0043b97f
test eax, eax
pop ecx
je 0x40e3d8
push eax
call fcn.004326c7
mov ebx, eax
test ebx, ebx
pop ecx
je 0x40e3d8
push 0
push esi
mov ecx, ebx
call fcn.00432668
test eax, eax
mov dword [ebp + 0x68], eax
je 0x40e3d8
cmp byte [eax + 4], 0xc
jne 0x40e3d8
cmp dword [ebp + 0x48], 0x1b
je 0x40e3cc
cmp dword [ebp + 0x48], 0x41
je 0x40e3b0
test byte [eax + 5], 0x80
je 0x40e3d8
push 0x45a5e4
push 1
push 0xc2
jmp 0x40e3bf
test byte [eax + 5], 2
jne 0x40e3d8
push 0xffffffffffffffff
push 0
push 0xb1
push dword [eax]
call dword [0x45a4e0]
jmp 0x40df54
mov ecx, ebx
call fcn.004323fd
jmp 0x40df54
mov eax, dword [0x46b400]
xor ecx, ecx
cmp eax, ecx
je 0x40e3fe
cmp dword [ebp + 0x48], 0xd
jne 0x40e3ed
push ecx
push ecx
jmp 0x40e3f6
cmp dword [ebp + 0x48], 0x1b
jne 0x40e3fe
push ecx
push 1
push 0x1116
push eax
jmp 0x40e3c1
xor edi, edi
mov esi, 0x467980
mov eax, dword [esi]
test eax, eax
je 0x40e456
cmp dword [eax], 0
je 0x40e44d
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 1
mov eax, dword [ebp + 0x44]
mov ecx, dword [0x465108]
mov dword [ecx + 0xbc], eax
lea eax, [ebp + 0x40]
push eax
mov eax, dword [esi]
push dword [eax]
call dword [0x45a4e4]
test eax, eax
jne 0x40e56b
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 0
inc edi
cmp dword [0x46b3fc], edi
je 0x40e461
add esi, 4
cmp esi, 0x467b0c
jl 0x40e405
mov ecx, dword [ebp + 0x44]
mov eax, 0x312
cmp ecx, eax
ja 0x40e5cd
je 0x40e610
mov eax, ecx
sub eax, 0x12
je 0x40e5b8
sub eax, 0x39
je 0x40e5a8
sub eax, 0xb5
je 0x40e57c
sub eax, 0x13
jne 0x40e945
xor esi, esi
cmp dword [ebp + 0x4c], esi
jne 0x40e945
mov eax, dword [0x467254]
cmp dword [ebp + 0x40], eax
jne 0x40e945
cmp dword [0x4693dc], esi
je 0x40e4c5
call fcn.0040ef89
cmp dword [0x468158], esi
je 0x40e4da
call fcn.0040dcec
test al, al
je 0x40e4da
mov byte [ebp + 0x6f], 1
cmp dword [ebp + 0x7c], esi
je 0x40df54
cmp dword [ebp + 0x78], 1
jl 0x40df54
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.0040ef48
add esp, 0xc
test eax, eax
je 0x40df54
cmp byte [ebp + 0x67], 0
je 0x40e513
mov byte [0x4673a5], 0
cmp byte [ebp + 0x66], 0
je 0x40e560
dec dword [0x4673b4]
xor eax, eax
cmp dword [ebp + 0x78], eax
jle 0x40e560
cmp dword [0x4673b4], eax
jne 0x40e560
cmp dword [0x468158], eax
jne 0x40e560
cmp dword [0x4693dc], eax
jne 0x40e560
cmp byte [0x46739f], 0
je 0x40e560
push 9
push dword [0x467254]
call dword [0x45a544]
test eax, eax
je 0x40e560
mov byte [0x46739f], 0
mov al, byte [ebp + 0x6f]
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 0
jmp 0x40df54
mov eax, dword [ebp + 0x40]
cmp eax, dword [0x467258]
jne 0x40e945
cmp dword [ebp + 0x48], 0x1b
jne 0x40e945
push 0
push dword [0x467254]
call dword [0x45a4e8]
jmp 0x40df54
and dword [0x467390], 0
invalid