Function at 0x4c06f4
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x4044c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1f4
call fcn.004044c0
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x402d90
mov edx, 0x40f42c
lea ecx, [ebp - 0x8c]
call fcn.004048b0
mov ax, word [0x5210dc]
add ax, 4
jo 0x4c156a
mov word [0x5210dc], ax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 8
mov edx, 0x40e25c
lea ecx, [ebp - 0x158]
call fcn.004048b0
mov word [ebp - 0x1dc], 3
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0044b956
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
lea ecx, [ebp - 0x158]
call fcn.00404868
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 2
call fcn.00404898
add esp, 0xc
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 8
mov edx, 0x40f790
lea ecx, [ebp - 0x158]
call fcn.004048b0
mov word [ebp - 0x1dc], 0xcb
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0044b956
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
lea ecx, [ebp - 0x158]
call fcn.00404868
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 2
call fcn.00404898
add esp, 0xc
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx ax, byte [eax]
cmp ax, 0xd4
jne 0x4c093b
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 8
mov edx, 0x40aeb4
lea ecx, [ebp - 0x158]
call fcn.004048b0
mov word [ebp - 0x1dc], 0xd4
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0044b956
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
lea ecx, [ebp - 0x158]
call fcn.00404868
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 2
call fcn.00404898
add esp, 0xc
jmp 0x4c09d1
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 8
lea eax, [ebp - 0x168]
push eax
call fcn.00444aa2
mov dword [ebp - 0x1c0], 0x40bffc
mov dword [ebp - 0x1c8], 8
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 3
call fcn.00404898
add esp, 0x10
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx ax, byte [eax]
cmp ax, 0xdf
jne 0x4c0abb
push dword [ebp - 0x8c]
push 0x40dd04
call fcn.0040486e
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
mov ax, word [0x5210dc]
add ax, 1
jo 0x4c156a
mov word [0x5210dc], ax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 8
lea eax, [ebp - 0x168]
push eax
call fcn.0044506b
mov dword [ebp - 0x1c0], 0x40bffc
mov dword [ebp - 0x1c8], 8
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 3
call fcn.00404898
add esp, 0x10
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx ax, byte [eax]
cmp ax, 7
jne 0x4c0b0d
push dword [ebp - 0x8c]
push 0x40c8d4
call fcn.0040486e
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
mov ax, word [0x5210dc]
add ax, 1
jo 0x4c156a
mov word [0x5210dc], ax
jmp 0x4c0b0f
jmp 0x4c0b14
jmp 0x4c074a
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx ax, byte [eax]
cmp ax, 0x15
jne 0x4c0c88
push dword [ebp - 0x8c]
push 0x40dbfc
call fcn.0040486e
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
mov ax, word [0x5210dc]
add ax, 1
jo 0x4c156a
mov word [0x5210dc], ax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 8
lea eax, [ebp - 0x168]
push eax
call fcn.0044b65a
mov dword [ebp - 0x1c0], 0x40bffc
mov dword [ebp - 0x1c8], 8
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 3
call fcn.00404898
add esp, 0x10
lea eax, [ebp - 0x168]
push eax
call fcn.0044b65a
mov dword [ebp - 0x1b0], 0x40bffc
mov dword [ebp - 0x1b8], 8
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.004048b6
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 2
call fcn.00404898
add esp, 0xc
push dword [ebp - 0x58]
call fcn.004d8bec
cmp eax, 1
jle 0x4c0c88
push dword [ebp - 0x8c]
push dword [ebp - 0x58]
call fcn.0040486e
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
mov dword [ebp - 0x1b0], 0x40a6cc
mov dword [ebp - 0x1b8], 8
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0xbc]
call fcn.00404766
mov dword [ebp - 0x1b0], 0x40a6cc
mov dword [ebp - 0x1b8], 8
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x154]
call fcn.00404766
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx ax, byte [eax]
cmp ax, 0xd3
jne 0x4c1386
mov dword [ebp - 0x1b0], 0x40f6a0
mov dword [ebp - 0x1b8], 8
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.004047d2
mov edx, eax
lea ecx, [ebp - 0xbc]
call fcn.004048d4
mov ax, word [0x5210dc]
add ax, 1
jo 0x4c156a
mov word [0x5210dc], ax
mov ax, word [0x5210dc]
mov word [ebp - 0x1b0], ax
mov dword [ebp - 0x1b8], 2
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x44]
call fcn.004048d4
and dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1b8], 2
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0xdc]
call fcn.004048d4
and dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1b8], 0xb
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x88]
call fcn.004048d4
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx ax, byte [eax]
cmp ax, 0xfe
je 0x4c1304
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx ax, byte [eax]
cmp ax, 0xe8
jne 0x4c12e9
or dword [ebp - 0x1b0], 0xffffffff
mov dword [ebp - 0x1b8], 0xb
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x88]
call fcn.004048d4
mov ax, word [0x5210dc]
mov word [ebp - 0x1b0], ax
mov dword [ebp - 0x1b8], 2
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0xec]
call fcn.004048d4
lea eax, [ebp - 0x168]
push eax
call fcn.00445bbb
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.004047c6
push eax
call fcn.0040461c
fstp qword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], 5
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0xdc]
call fcn.004048d4
lea ecx, [ebp - 0x158]
call fcn.00404868
lea ecx, [ebp - 0x168]
call fcn.00404844
mov dword [ebp - 0x1b0], 0x40a6cc
mov dword [ebp - 0x1b8], 8
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x9c]
call fcn.00404766
mov dword [ebp - 0x1b0], 1
mov dword [ebp - 0x1b8], 2
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0040474e
push eax
call fcn.0040484a
mov word [ebp - 0x1e4], ax
mov word [ebp - 0x1e0], 1
mov word [ebp - 0x110], 1
jmp 0x4c0f24
mov ax, word [ebp - 0x110]
add ax, word [ebp - 0x1e0]
jo 0x4c156a
mov word [ebp - 0x110], ax
mov ax, word [ebp - 0x110]
cmp ax, word [ebp - 0x1e4]
jg 0x4c0f82
movsx eax, word [ebp - 0x110]
push eax
push dword [0x5210d8]
call fcn.00404832
mov al, byte [eax]
mov byte [ebp - 0x1b0], al
mov dword [ebp - 0x1b8], 0x11
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.004047d2
mov edx, eax
lea ecx, [ebp - 0x9c]
call fcn.004048d4
jmp 0x4c0f09
mov edx, 0x40a6cc
lea ecx, [ebp - 0x114]
call fcn.004048b0
mov dword [ebp - 0x1b0], 4
mov dword [ebp - 0x1b8], 2
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.004047d2
push eax
call fcn.0040484a
mov word [ebp - 0x1ec], ax
mov word [ebp - 0x1e8], 1
lea eax, [ebp - 0xec]
push eax
call fcn.0040484a
mov word [ebp - 0x110], ax
lea ecx, [ebp - 0x168]
call fcn.00404844
jmp 0x4c1011
mov ax, word [ebp - 0x110]
add ax, word [ebp - 0x1e8]
jo 0x4c156a
mov word [ebp - 0x110], ax
mov ax, word [ebp - 0x110]
cmp ax, word [ebp - 0x1ec]
jg 0x4c1080
push dword [ebp - 0x114]
call fcn.00404802
movsx eax, word [ebp - 0x110]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx eax, byte [eax]
mov dword [ebp - 0x200], eax
fild dword [ebp - 0x200]
fstp qword [ebp - 0x208]
fadd qword [ebp - 0x208]
fnstsw ax
test al, 0xd
jne 0x4c1565
push ecx
push ecx
fstp qword [esp]
call fcn.00404664
mov edx, eax
lea ecx, [ebp - 0x114]
call fcn.004048b6
jmp 0x4c0ff6
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 8
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.004047d2
mov edx, eax
lea ecx, [ebp - 0x154]
call fcn.004048d4
mov dword [ebp - 0x1b0], 0x40a6cc
mov dword [ebp - 0x1b8], 8
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0xcc]
call fcn.00404766
push dword [0x5210d8]
push 1
call fcn.00404838
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1c8], 3
mov dword [ebp - 0x1d0], 4
mov dword [ebp - 0x1d8], 2
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0040474e
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.0040474e
push eax
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x1a8]
push eax
call fcn.0040474e
push eax
call fcn.0040484a
mov word [ebp - 0x1f4], ax
mov word [ebp - 0x1f0], 1
mov dword [ebp - 0x1b0], 4
mov dword [ebp - 0x1b8], 2
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.004047d2
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
call fcn.0040484a
mov word [ebp - 0x110], ax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 2
call fcn.00404898
add esp, 0xc
jmp 0x4c11ef
mov ax, word [ebp - 0x110]
add ax, word [ebp - 0x1f0]
jo 0x4c156a
mov word [ebp - 0x110], ax
mov ax, word [ebp - 0x110]
cmp ax, word [ebp - 0x1f4]
jg 0x4c124d
movsx eax, word [ebp - 0x110]
push eax
push dword [0x5210d8]
call fcn.00404832
mov al, byte [eax]
mov byte [ebp - 0x1b0], al
mov dword [ebp - 0x1b8], 0x11
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.004047d2
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.004048d4
jmp 0x4c11d4
mov dword [ebp - 0x1b0], 0xea
mov dword [ebp - 0x1b8], 2
lea eax, [ebp - 0x9c]
push eax
push 0x10
pop eax
call fcn.004044c0
lea esi, [ebp - 0x1b8]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.00404778
add esp, 0x1c
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 3
call fcn.00404898
add esp, 0x10
jmp 0x4c1304
mov ax, word [0x5210dc]
add ax, 1
jo 0x4c156a
mov word [0x5210dc], ax
jmp 0x4c0dad
lea eax, [ebp - 0x44]
push eax
call fcn.0040484a
mov word [0x5210dc], ax
lea eax, [ebp - 0x168]
push eax
call fcn.00444aa2
mov dword [ebp - 0x1b0], 0x40bffc
mov dword [ebp - 0x1b8], 8
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.004047d2
mov edx, eax
lea ecx, [ebp - 0xbc]
call fcn.004048d4
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 2
call fcn.00404898
add esp, 0xc
mov word [0x5210dc], 1
push 0x4109a0
push dword [ebp - 0x8c]
call fcn.0040486e
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x168], 8
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004047d2
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004048b6
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x168]
push eax
push 2
call fcn.00404898
add esp, 0xc
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 8
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0xfc]
call fcn.00404766
wait
push 0x4c1544
jmp 0x4c1471
lea ecx, [ebp - 0x24]
call fcn.00404844
lea ecx, [ebp - 0x34]
call fcn.00404844
lea ecx, [ebp - 0x44]
call fcn.00404844
lea ecx, [ebp - 0x54]
call fcn.00404844
lea ecx, [ebp - 0x58]
call fcn.00404868
lea ecx, [ebp - 0x68]
call fcn.00404844
lea ecx, [ebp - 0x78]
call fcn.00404844
lea ecx, [ebp - 0x88]
call fcn.00404844
lea ecx, [ebp - 0x8c]
call fcn.00404868
lea ecx, [ebp - 0x9c]
call fcn.00404844
lea ecx, [ebp - 0xac]
call fcn.00404844
lea ecx, [ebp - 0xbc]
call fcn.00404844
lea ecx, [ebp - 0xcc]
call fcn.00404844
lea ecx, [ebp - 0xdc]
call fcn.00404844
lea ecx, [ebp - 0xec]
call fcn.00404844
lea ecx, [ebp - 0x10c]
call fcn.00404844
lea ecx, [ebp - 0x114]
call fcn.00404868
lea ecx, [ebp - 0x124]
call fcn.00404844
lea ecx, [ebp - 0x134]
call fcn.00404844
lea ecx, [ebp - 0x144]
call fcn.00404844
lea ecx, [ebp - 0x154]
call fcn.00404844
ret
jmp fcn.004044cc
call fcn.0040477e