Function at 0x45cb70
Capabilities:
Check for software breakpoints

Disassembly:
push ecx
mov eax, dword [0x14cc454]
push ebx
push esi
xor ebx, ebx
xor esi, esi
cmp eax, ebx
jne 0x45d5e7
mov eax, dword [0x14d13d8]
test byte [eax + 0x133], 8
je 0x45cba5
mov al, byte [eax + 0x135]
cmp al, 0xcc
je 0x45cba5
cmp al, 0xd6
je 0x45cba5
call fcn.0045d710
mov cx, word [0x14cd898]
cmp cx, bx
jbe 0x45cbcc
mov eax, dword [0x14cd890]
add eax, 0xa
movzx ecx, cx
lea esp, [esp]
test byte [eax], 2
je 0x45cbc6
inc esi
add eax, 0xc
dec ecx
jne 0x45cbc0
cmp dword [0x14cc494], ebx
push edi
je 0x45cdb3
mov eax, dword [0x14c954c]
cmp eax, 4
je 0x45cbf6
cmp eax, 3
je 0x45cbf6
cmp eax, 7
je 0x45cbf6
cmp eax, 8
jne 0x45cc81
cmp word [0x14c7700], 0x142
mov eax, dword [0x15166b4]
mov dword [eax + 0x8c], ebx
ja 0x45cc13
mov eax, str.UNDEFINED
jmp 0x45cc1f
mov ecx, dword [0x14d1bc8]
mov eax, dword [ecx + 0x508]
mov edx, dword [0x15166b8]
mov dword [edx + 0x8c], eax
mov eax, dword [0x15166bc]
mov dword [eax + 0x8c], ebx
mov ecx, dword [0x15166c0]
push 0x4c41d0
push 0x1516f68
mov dword [ecx + 0x8c], ebx
call fcn.0049abb1
movzx edx, word [0x14c9878]
push edx
push 0x4c4824
push 0x1516f70
call fcn.0049abb1
push 0x4c41d0
push 0x1516f78
call fcn.0049abb1
push 0x4c41d0
jmp 0x45cee1
mov cx, word [0x14c7700]
cmp cx, 0x140
mov edx, dword [0x14d1bc8]
mov eax, str.UNDEFINED
jbe 0x45cca0
mov eax, dword [edx + 0x500]
cmp cx, 0x141
mov esi, dword [0x15166b4]
mov dword [esi + 0x8c], eax
mov eax, str.UNDEFINED
jbe 0x45ccbe
mov eax, dword [edx + 0x504]
cmp cx, 0x91
mov esi, dword [0x15166b8]
mov dword [esi + 0x8c], eax
mov eax, str.UNDEFINED
jbe 0x45ccdc
mov eax, dword [edx + 0x244]
cmp cx, 0x92
mov esi, dword [0x15166bc]
mov dword [esi + 0x8c], eax
mov eax, str.UNDEFINED
jbe 0x45ccfa
mov eax, dword [edx + 0x248]
mov ecx, dword [0x15166c0]
mov dword [ecx + 0x8c], eax
mov edx, dword [0x14c9900]
push edx
push 0x4c4824
push 0x1516f68
call fcn.0049abb1
fld dword [0x14c97dc]
fmul dword [0x4c4b80]
add esp, 4
fstp qword [esp]
call fcn.0049aa90
add esp, 8
call fcn.0049ccd0
movzx esi, ax
mov dword [esp + 0xc], esi
fild dword [esp + 0xc]
fmul dword [0x4c4ad0]
fsubr dword [0x14c97dc]
call fcn.0049ccd0
cmp ax, 0xa
jae 0x45cd69
movzx eax, ax
push eax
push esi
push str._d:0_d
jmp 0x45cd73
movzx ecx, ax
push ecx
push esi
push str._d:_d
push 0x1516f70
call fcn.0049abb1
mov edx, dword [0x14cc478]
add esp, 0x10
push edx
push 0x4c4824
push 0x1516f78
call fcn.0049abb1
mov eax, dword [0x14cc480]
push eax
push 0x4c4824
push 0x1516f80
call fcn.0049abb1
add esp, 0x18
jmp 0x45ceee
mov cx, word [0x14c7700]
cmp cx, 0x90
mov edx, dword [0x14d1bc8]
mov eax, str.UNDEFINED
jbe 0x45cdd2
mov eax, dword [edx + 0x240]
cmp cx, 0x91
mov edi, dword [0x15166b4]
mov dword [edi + 0x8c], eax
mov eax, str.UNDEFINED
jbe 0x45cdf0
mov eax, dword [edx + 0x244]
cmp cx, 0x92
mov edi, dword [0x15166b8]
mov dword [edi + 0x8c], eax
mov eax, str.UNDEFINED
jbe 0x45ce0e
mov eax, dword [edx + 0x248]
cmp cx, 0x94
mov edi, dword [0x15166bc]
mov dword [edi + 0x8c], eax
mov eax, str.UNDEFINED
jbe 0x45ce2c
mov eax, dword [edx + 0x250]
mov ecx, dword [0x15166c0]
movzx edx, si
mov dword [esp + 0xc], edx
mov dword [ecx + 0x8c], eax
movzx eax, word [0x14cd898]
fild dword [esp + 0xc]
mov dword [esp + 0xc], eax
fmul dword [0x4c4ab0]
fidiv dword [esp + 0xc]
call fcn.0049ccd0
movsx ecx, ax
push ecx
push 0x4c4824
push 0x1516f68
call fcn.0049abb1
mov edi, 0x1516f68
add esp, 0xc
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x45ce80
mov ecx, dword [0x14cc478]
mov dx, word [0x4c244c]
mov al, byte [0x4c244e]
push ecx
mov word [edi], dx
push 0x4c4824
push 0x1516f70
mov byte [edi + 2], al
call fcn.0049abb1
mov edx, dword [0x14cc480]
push edx
push 0x4c4824
push 0x1516f78
call fcn.0049abb1
mov eax, dword [0x14cc480]
mov ecx, dword [0x14cc47c]
mov edi, dword [0x14cc478]
add ecx, eax
add ecx, edi
push ecx
push 0x4c4824
push 0x1516f80
call fcn.0049abb1
add esp, 0x24
mov ecx, dword [0x1519ba8]
mov edx, dword [0x1516610]
or ecx, 0x400
mov dword [0x1519ba8], ecx
mov dword [edx + 0x8c], 0x1516b10
mov eax, dword [0x14cc454]
mov edi, 1
cmp eax, edi
je 0x45cf36
test byte [0x1519ba8], 1
mov dword [0x14c7610], edi
jne 0x45cf36
push edi
call fcn.00485db0
add esp, 4
mov eax, dword [0x151665c]
push ebp
push 0x3e4ccccd
push 2
push eax
mov dword [0x14cc454], edi
call fcn.0045ad20
mov eax, dword [0x14cc494]
add esp, 0xc
cmp eax, ebx
je 0x45cfa5
mov esi, dword [0x1516664]
cmp dword [esi], ebx
je 0x45cfba
mov eax, dword [esi + 0x90]
mov dword [esi + 4], edi
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], 0x3e4ccccd
jle 0x45cfba
lea ebp, [esi + 0x94]
mov ecx, dword [ebp]
push 0x3e4ccccd
push ebx
push ecx
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45cf83
jmp 0x45cfba
mov edx, dword [0x1516664]
push 0x3e4ccccd
push edi
push edx
call fcn.0045ad20
add esp, 0xc
mov ecx, dword [0x14cc494]
cmp ecx, ebx
je 0x45cffc
mov eax, dword [0x14c954c]
cmp eax, 4
je 0x45cfdd
cmp eax, 3
je 0x45cfdd
cmp eax, 7
je 0x45cfdd
cmp eax, 8
jne 0x45cffc
cmp word [0x14c7700], 0xb7
ja 0x45cfef
mov eax, str.UNDEFINED
jmp 0x45d049
mov eax, dword [0x14d1bc8]
mov eax, dword [eax + 0x2dc]
jmp 0x45d049
cmp word [0x14cd8a0], 0xffff
jne 0x45d052
cmp ecx, ebx
je 0x45d02b
cmp word [0x14c7700], 0x160
ja 0x45d01d
mov eax, str.UNDEFINED
jmp 0x45d049
mov ecx, dword [0x14d1bc8]
mov eax, dword [ecx + 0x580]
jmp 0x45d049
cmp word [0x14c7700], 0xa9
ja 0x45d03d
mov eax, str.UNDEFINED
jmp 0x45d049
mov edx, dword [0x14d1bc8]
mov eax, dword [edx + 0x2a4]
push ebx
call fcn.0045f230
add esp, 4
mov esi, dword [0x1516658]
cmp dword [esi], ebx
je 0x45d09c
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d09c
lea ebp, [esi + 0x94]
lea ebx, [ebx]
mov eax, dword [ebp]
push ebx
push ebx
push eax
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d080
mov esi, dword [0x1516654]
cmp dword [esi], ebx
je 0x45d0e0
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d0e0
lea ebp, [esi + 0x94]
mov ecx, dword [ebp]
push ebx
push ebx
push ecx
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d0c4
mov esi, dword [0x1516650]
cmp dword [esi], ebx
je 0x45d124
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d124
lea ebp, [esi + 0x94]
mov edx, dword [ebp]
push ebx
push ebx
push edx
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d108
mov esi, dword [0x151664c]
cmp dword [esi], ebx
je 0x45d16c
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d16c
lea ebp, [esi + 0x94]
lea esp, [esp]
mov eax, dword [ebp]
push ebx
push ebx
push eax
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d150
mov esi, dword [0x1516660]
cmp dword [esi], ebx
je 0x45d1b0
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d1b0
lea ebp, [esi + 0x94]
mov ecx, dword [ebp]
push ebx
push ebx
push ecx
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d194
mov esi, dword [0x1516684]
cmp dword [esi], ebx
je 0x45d1f4
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d1f4
lea ebp, [esi + 0x94]
mov edx, dword [ebp]
push ebx
push ebx
push edx
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d1d8
mov esi, dword [0x1516688]
cmp dword [esi], ebx
je 0x45d23c
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d23c
lea ebp, [esi + 0x94]
lea esp, [esp]
mov eax, dword [ebp]
push ebx
push ebx
push eax
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d220
mov esi, dword [0x151668c]
cmp dword [esi], ebx
je 0x45d280
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d280
lea ebp, [esi + 0x94]
mov ecx, dword [ebp]
push ebx
push ebx
push ecx
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d264
mov edx, dword [0x151669c]
push 0x3e4ccccd
push 1
push edx
call fcn.0045ad20
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
mov byte [0x1516904], bl
mov dword [0x1519a94], 0x40a00000
mov dword [0x1519ad0], eax
je 0x45d351
mov esi, dword [0x1516670]
cmp dword [esi], ebx
je 0x45d2fc
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d2fc
lea ebp, [esi + 0x94]
nop
mov eax, dword [ebp]
push ebx
push ebx
push eax
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d2e0
mov esi, dword [0x151667c]
cmp dword [esi], ebx
je 0x45d3e0
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d3e0
lea ebp, [esi + 0x94]
lea esp, [esp]
mov ecx, dword [ebp]
push ebx
push ebx
push ecx
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d330
jmp 0x45d3e0
mov esi, dword [0x1516678]
cmp dword [esi], ebx
je 0x45d39c
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d39c
lea ebp, [esi + 0x94]
lea esp, [esp]
mov edx, dword [ebp]
push ebx
push ebx
push edx
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d380
mov esi, dword [0x1516674]
cmp dword [esi], ebx
je 0x45d3e0
mov eax, dword [esi + 0x90]
xor edi, edi
cmp eax, ebx
mov dword [esi], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 4], 1
jle 0x45d3e0
lea ebp, [esi + 0x94]
mov eax, dword [ebp]
push ebx
push ebx
push eax
call fcn.0045ad20
mov eax, dword [esi + 0x90]
add esp, 0xc
inc edi
add ebp, 4
cmp edi, eax
jl 0x45d3c4
mov edx, dword [0x1516f4c]
mov ecx, dword [0x151660c]
mov di, word [0x14c7700]
mov esi, dword [0x14d1bc8]
add edx, 0xfffffffd
cmp di, 0xa5
mov dword [0x1516f48], ebx
mov dword [0x1516f50], 0
mov dword [0x1516f54], 0
fld dword [ecx + 0x80]
fadd dword [0x4c4a64]
mov dword [esp + 0x10], edx
fimul dword [esp + 0x10]
mov eax, str.UNDEFINED
fchs
fstp dword [0x1516f58]
jbe 0x45d444
mov eax, dword [esi + 0x294]
mov ecx, dword [0x1516644]
mov dword [ecx + 0x8c], eax
cmp dword [0x1516f4c], 4
mov eax, str.UNDEFINED
jle 0x45d479
cmp di, 0xa6
jbe 0x45d46b
mov eax, dword [esi + 0x298]
mov edx, dword [0x1516648]
mov dword [edx + 0x8c], eax
jmp 0x45d492
cmp di, 0xa6
jbe 0x45d486
mov eax, dword [esi + 0x298]
mov ecx, dword [0x1516648]
mov dword [ecx + 0x8c], eax
mov ecx, dword [0x14d13d8]
mov ax, word [ecx + 0x30]
cmp ax, bx
mov edx, 0x200
jne 0x45d50b
test dword [ecx + 0x40], edx
jne 0x45d4d6
cmp di, 0x8b
mov eax, dword [0x151666c]
mov dx, word [0x1516588]
mov word [eax + 0x70], dx
mov eax, str.UNDEFINED
jbe 0x45d58b
mov eax, dword [esi + 0x22c]
jmp 0x45d58b
cmp ax, bx
jne 0x45d50b
test dword [ecx + 0x40], edx
je 0x45d50b
cmp di, 0x8f
mov eax, dword [0x151666c]
mov dx, word [0x1516598]
mov word [eax + 0x70], dx
mov eax, str.UNDEFINED
jbe 0x45d58b
mov eax, dword [esi + 0x23c]
jmp 0x45d58b
cmp ax, 1
jne 0x45d569
test dword [ecx + 0x40], edx
jne 0x45d53a
cmp di, 0x8e
mov eax, dword [0x151666c]
mov dx, word [0x1516594]
mov word [eax + 0x70], dx
mov eax, str.UNDEFINED
jbe 0x45d58b
mov eax, dword [esi + 0x238]
jmp 0x45d58b
cmp ax, 1
jne 0x45d569
test dword [ecx + 0x40], edx
je 0x45d569
cmp di, 0x8d
mov eax, dword [0x151666c]
mov dx, word [0x151658c]
mov word [eax + 0x70], dx
mov eax, str.UNDEFINED
jbe 0x45d58b
mov eax, dword [esi + 0x234]
jmp 0x45d58b
cmp di, 0x8c
mov eax, dword [0x151666c]
mov dx, word [0x1516590]
mov word [eax + 0x70], dx
mov eax, str.UNDEFINED
jbe 0x45d58b
mov eax, dword [esi + 0x230]
mov ecx, dword [0x1516690]
mov dword [ecx + 0x8c], eax
cmp dword [esp + 0x18], ebx
pop ebp
mov eax, str.UNDEFINED
je 0x45d5c7
cmp di, 0x119
jbe 0x45d5b0
mov eax, dword [esi + 0x464]
mov edx, dword [0x1516680]
pop edi
mov dword [edx + 0x8c], eax
pop esi
mov dword [0x1519ab0], ebx
pop ebx
pop ecx
ret
cmp di, 0x18b
jbe 0x45d5d4
mov eax, dword [esi + 0x62c]
mov ecx, dword [0x1516680]
mov dword [ecx + 0x8c], eax
mov dword [0x1519ab0], ebx
pop edi
pop esi
pop ebx
pop ecx
ret