Function at 0x40a91c
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
mov eax, 0x40a88c
call fcn.004044b8
mov esi, 0x40d8a0
push 0
push 0x40af00
call fcn.0040470c
mov dword [0x40d8d0], eax
cmp dword [0x40d8d0], 0
je 0x40a954
xor eax, eax
call fcn.004035dc
push 0
call fcn.004045c4
mov dword [0x40d8d4], eax
mov dword [0x40d8e0], 0x4c
xor eax, eax
mov dword [0x40d90c], eax
mov eax, 0x40d910
xor ecx, ecx
mov edx, 0xc0
call fcn.00402714
push 0
mov eax, 0x408ac4
push eax
push 0
push 0
mov eax, dword [0x40c368]
mov eax, dword [eax]
call eax
mov byte [0x40da88], 0
push 0
mov ecx, 0x40af18
mov edx, 0x40af28
mov eax, 0x80000001
call fcn.004088fc
mov dword [0x40da84], eax
push 3
mov ecx, 0x40af50
mov edx, 0x40af28
mov eax, 0x80000001
call fcn.004088fc
mov dword [0x40d900], eax
cmp dword [0x40d900], 0
jl 0x40a9e6
cmp dword [0x40d900], 8
jle 0x40a9f0
mov dword [0x40d900], 3
mov eax, dword [0x40d900]
cmp eax, 9
ja case.default.0x40a9fe
jmp dword [eax*4 + 0x40aa05]
xor eax, eax
mov dword [0x40d8e0], eax
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0x1a
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0x33
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0x4c
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0x66
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0x80
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0x9a
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0xb3
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0xcc
jmp case.default.0x40a9fe
mov dword [0x40d8e0], 0xe6
push 0xffff
mov ecx, 0x40af60
mov edx, 0x40af28
mov eax, 0x80000001
call fcn.004088fc
mov dword [0x40d900], eax
xor ebx, ebx
mov eax, 0x40d924
mov ecx, ebx
mov edx, 1
shl edx, cl
and edx, dword [0x40d900]
setne dl
mov byte [eax], dl
inc ebx
add eax, 0x18
cmp ebx, 8
jne 0x40aac5
mov eax, esi
xor ecx, ecx
mov edx, 0x30
call fcn.00402714
mov dword [esi], 0x30
mov dword [esi + 4], 0xb
mov dword [esi + 8], 0x408e30
mov eax, dword [0x40d8d4]
mov dword [esi + 0x14], eax
mov dword [esi + 0x20], 0xc
xor eax, eax
mov dword [esi + 0x24], eax
mov eax, 0x40af74
call fcn.004039b8
mov dword [esi + 0x28], eax
push 0x40af84
mov eax, dword [0x40d8d4]
push eax
call fcn.00404774
mov ebx, eax
mov dword [esi + 0x18], ebx
mov dword [esi + 0x2c], ebx
push 0x7f00
push 0
call fcn.0040476c
mov dword [esi + 0x1c], eax
push esi
call fcn.004047b4
test ax, ax
je 0x40aef8
push 0
mov eax, dword [0x40d8d4]
push eax
push 0
push 0
push 0xc8
push 0x15e
push 0x80000000
push 0x80000000
push 0
push 0x40af90
push 0x40af00
push 0x200
call fcn.004046cc
mov dword [0x40d8d0], eax
cmp dword [0x40d8d0], 0
je 0x40aef8
mov eax, esi
xor ecx, ecx
mov edx, 0x30
call fcn.00402714
mov dword [esi], 0x30
mov dword [esi + 4], 0xb
mov dword [esi + 8], 0x409a54
mov eax, dword [0x40d8d4]
mov dword [esi + 0x14], eax
mov dword [esi + 0x20], 0xc
xor eax, eax
mov dword [esi + 0x24], eax
mov eax, 0x40afb4
call fcn.004039b8
mov dword [esi + 0x28], eax
push 0x40af84
mov eax, dword [0x40d8d4]
push eax
call fcn.00404774
mov ebx, eax
mov dword [esi + 0x18], ebx
mov dword [esi + 0x2c], ebx
push 0x7f00
push 0
call fcn.0040476c
mov dword [esi + 0x1c], eax
push esi
call fcn.004047b4
test ax, ax
je 0x40aef8
push 0
mov eax, dword [0x40d8d4]
push eax
push 0
push 0
push 0x193
push 0x203
push 0x80000000
push 0x80000000
push 0x86c80000
push 0x40afc8
push 0x40afec
push 0x101
call fcn.004046cc
mov dword [0x40d904], eax
cmp dword [0x40d904], 0
jne 0x40ac73
mov eax, dword [0x40d8d0]
push eax
call fcn.004046e4
jmp 0x40aef8
push 0x40d9d0
mov eax, dword [0x40d904]
push eax
call fcn.00404714
push 0x40d9e0
mov eax, dword [0x40d904]
push eax
call fcn.00404744
mov eax, dword [0x40d9e8]
add eax, 0x1fd
sub eax, dword [0x40d9d8]
mov dword [0x40d9e8], eax
mov eax, dword [0x40d9ec]
add eax, 0x178
sub eax, dword [0x40d9dc]
mov dword [0x40d9ec], eax
push 6
push eax
mov eax, dword [0x40d9e8]
push eax
push 0
push 0
push 0
mov eax, dword [0x40d904]
push eax
call fcn.004047ec
mov eax, esi
xor ecx, ecx
mov edx, 0x30
call fcn.00402714
mov dword [esi], 0x30
mov dword [esi + 4], 8
mov dword [esi + 8], 0x409954
mov eax, dword [0x40d8d4]
mov dword [esi + 0x14], eax
mov dword [esi + 0x20], 0xc
xor eax, eax
mov dword [esi + 0x24], eax
mov eax, 0x40b008
call fcn.004039b8
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [esi + 0x18], eax
xor eax, eax
mov dword [esi + 0x2c], eax
push 0x7f00
push 0
call fcn.0040476c
mov dword [esi + 0x1c], eax
push esi
call fcn.004047b4
test ax, ax
jne 0x40ad4e
mov eax, dword [0x40d8d0]
push eax
call fcn.004046e4
jmp 0x40aef8
mov esi, dword [0x40d90c]
dec esi
test esi, esi
jl 0x40ad67
inc esi
xor ebx, ebx
mov eax, ebx
call fcn.00408c78
inc ebx
dec esi
jne 0x40ad5c
push 0
push 0
push 0
push 0x40d8e4
call fcn.00404724
test eax, eax
je 0x40ad91
push 0x40d8e4
call fcn.0040480c
push 0x40d8e4
call fcn.004046ec
jmp 0x40ad67
cmp dword [0x40d8e0], 0x1a
jae 0x40ada6
xor eax, eax
mov dword [0x40d900], eax
jmp 0x40ae70
cmp dword [0x40d8e0], 0x33
jae 0x40adbe
mov dword [0x40d900], 1
jmp 0x40ae70
cmp dword [0x40d8e0], 0x4c
jae 0x40add6
mov dword [0x40d900], 2
jmp 0x40ae70
cmp dword [0x40d8e0], 0x66
jae 0x40adee
mov dword [0x40d900], 3
jmp 0x40ae70
cmp dword [0x40d8e0], 0x80
jae 0x40ae06
mov dword [0x40d900], 4
jmp 0x40ae70
cmp dword [0x40d8e0], 0x9a
jae 0x40ae1e
mov dword [0x40d900], 5
jmp 0x40ae70
cmp dword [0x40d8e0], 0xb3
jae 0x40ae36
mov dword [0x40d900], 6
jmp 0x40ae70
cmp dword [0x40d8e0], 0xcc
jae 0x40ae4e
mov dword [0x40d900], 7
jmp 0x40ae70
cmp dword [0x40d8e0], 0xe6
jae 0x40ae66
mov dword [0x40d900], 8
jmp 0x40ae70
mov dword [0x40d900], 9
mov edx, 0x40af28
mov eax, 0x80000001
call fcn.0040887c
mov eax, dword [0x40da84]
push eax
mov ecx, 0x40af18
mov edx, 0x40af28
mov eax, 0x80000001
call fcn.004089f8
mov eax, dword [0x40d900]
push eax
mov ecx, 0x40af50
mov edx, 0x40af28
mov eax, 0x80000001
call fcn.004089f8
xor eax, eax
mov dword [0x40d900], eax
xor ebx, ebx
mov eax, 0x40d924
cmp byte [eax], 0
je 0x40aed5
mov ecx, ebx
mov edx, 1
shl edx, cl
or dword [0x40d900], edx
inc ebx
add eax, 0x18
cmp ebx, 8
jne 0x40aec1
mov eax, dword [0x40d900]
push eax
mov ecx, 0x40af60
mov edx, 0x40af28
mov eax, 0x80000001
call fcn.004089f8
pop esi
pop ebx
call fcn.00403504
add byte [esi + 0x61], al
push ebx
arpl word [edx + 0x43], si
insb byte es:[edi], dx
popal
jae 0x40af7f
add byte [eax], al
add byte [eax], al
jae 0x40af81
add byte [eax], al
add byte [ebp + 0x41], cl
dec ecx
dec esi
dec ecx
inc ebx
dec edi
dec esi
add byte [eax], al
add byte [eax], al
push eax
popal
outsb dx, byte [esi]
outsd dx, dword [si]
insb byte es:[edi], dx
imul ebp, dword [esi + 0x20], 0x65726353
outsb dx, byte gs:[esi]
and byte [edx + 0x72], al
imul esp, dword [edi + 0x68], 0x73656e74
jae 0x40afab
add bh, bh
invalid