Function at 0x45e96b
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
mov eax, 0x68b848
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
call fcn.00600adb
mov word [ebp - 0x18], 8
mov eax, dword [esi + 0xa8]
cmp eax, 2
je 0x45e9ad
cmp eax, 3
je 0x45e9ad
cmp eax, 4
je 0x45e9ad
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx
mov eax, edx
jmp 0x45ee7d
mov dword [esi + 0x1a68], 0x1f41
mov word [ebp - 0x18], 8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, 8
mov dword [esi + 0x1a68], 0x1f42
push esi
call fcn.00463a17
pop ecx
mov ecx, eax
mov dword [esi + 0x1a68], 0x1f43
test cx, cx
jbe 0x45ea03
movzx eax, cx
push eax
mov eax, 0xf
pop edx
mov ecx, edx
cdq
idiv ecx
mov ebx, eax
test ebx, ebx
jne 0x45ea03
mov ebx, 1
mov dword [esi + 0x1a68], 0x1f44
xor eax, eax
mov dword [ebp - 0x38], eax
movzx edx, word [esi + 0x10c]
add edx, 0x10
imul edx, ebx
mov dword [ebp - 0x3c], edx
xor edi, edi
mov dword [esi + 0x1a68], 0x1f45
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x45ed09
mov dword [esi + 0x1a68], 0x1f46
call fcn.006865f9
mov edx, dword [esi + 0x62c]
add edx, 0x7d0
cmp eax, edx
jb 0x45ed19
call fcn.006865f9
cmp eax, dword [esi + 0x610]
jb 0x45ed19
mov dword [esi + 0x1a68], 0x1f47
movzx eax, word [esi + 0x138]
movzx edx, word [esi + 0x12c]
add eax, dword [ebp - 0x44]
mov ecx, edx
cdq
idiv ecx
mov eax, edx
movzx eax, ax
mov edx, eax
mov word [ebp - 0x18], 8
shl edx, 4
mov ebx, dword [esi + 0x134]
lea edx, [edx + edx*2]
add ebx, edx
cmp byte [ebx], 0
je 0x45ed06
call fcn.006865f9
mov dword [ebp - 0x48], eax
mov dword [esi + 0x1a68], 0x1f48
cmp word [ebx + 0xe], 0
je 0x45eb01
cmp dword [esi + 0xa8], 4
jne 0x45ecf4
cmp word [ebx + 0x10], 0
jne 0x45ecf4
mov ecx, dword [ebx + 0x1c]
cmp ecx, dword [ebp - 0x48]
jae 0x45ecf4
mov ax, word [ebx + 0xc]
cmp ax, 0xa6
je 0x45eb01
cmp ax, 0xce
jne 0x45ecf4
mov dword [esi + 0x1a68], 0x1f49
mov eax, dword [esi + 0x11c]
cmp eax, 0xffffffff
jae 0x45eb1c
inc eax
mov dword [ebx + 8], eax
jmp 0x45eb21
xor edx, edx
mov dword [ebx + 8], edx
push esi
call fcn.00463f4b
pop ecx
inc eax
mov dword [ebp - 0x30], eax
mov dword [esi + 0x1a68], 0x1f4a
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x30]
jge 0x45ec21
xor edx, edx
mov dword [ebp - 0x40], edx
mov dword [esi + 0x1a68], 0x1f4b
cmp word [ebx + 0xe], 0
jbe 0x45ebb9
mov ax, word [ebx + 0xe]
cmp ax, 1
je 0x45eb7b
movzx edx, ax
and edx, 0x80000001
jns 0x45eb77
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
jne 0x45ebb9
mov dword [ebp - 0x40], 1
cmp word [ebx + 0xc], 0xa6
mov edi, dword [ebx + 4]
jne 0x45eb95
mov word [ebx + 0xc], 0xcd
jmp 0x45eb9b
mov word [ebx + 0xc], 0xcf
cmp edi, 0xa
jb 0x45ebaa
mov eax, edi
sub eax, 0xa
mov dword [ebx + 4], eax
jmp 0x45ebb9
mov edx, 9
sub edx, edi
or ecx, 0xffffffff
sub ecx, edx
mov dword [ebx + 4], ecx
mov dword [esi + 0x1a68], 0x1f4c
push 0
push ebx
push esi
call fcn.0045ee87
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov dword [esi + 0x1a68], 0x1f4d
cmp dword [ebp - 0x40], 1
jne 0x45ebfb
cmp word [ebx + 0xc], 0xcd
jne 0x45ebf2
mov word [ebx + 0xc], 0xa6
jmp 0x45ebf8
mov word [ebx + 0xc], 0xce
mov dword [ebx + 4], edi
mov dword [esi + 0x1a68], 0x1f4e
inc dword [ebp - 0x34]
movzx eax, word [ebx + 0x28]
add eax, 0x10
add dword [ebp - 0x38], eax
inc dword [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x30]
jl 0x45eb47
mov dword [esi + 0x1a68], 0x1f4f
mov cx, word [ebx + 0xe]
push ecx
mov ax, word [ebx + 0xc]
push eax
push 1
push esi
call fcn.00463d3f
add esp, 0x10
cmp word [ebx + 0xe], 0
je 0x45ec4e
mov eax, 1
jmp 0x45ec50
xor eax, eax
mov dword [esi + 0x1a68], 0x1f50
cmp dword [ebp - 0x2c], 0
je 0x45eca5
mov dword [esi + 0x1a68], 0x1f51
test eax, eax
call fcn.006865f9
mov dword [ebp - 0x48], eax
inc word [ebx + 0xe]
mov edx, dword [ebp - 0x48]
mov dword [ebx + 0x18], edx
push esi
call fcn.00463a17
pop ecx
mov ecx, dword [ebp - 0x34]
dec ecx
imul ecx
mov edx, dword [esi + 0x3b0]
add edx, dword [ebp - 0x48]
add eax, edx
mov dword [ebx + 0x1c], eax
mov dword [esi + 0x1a68], 0x1f52
jmp 0x45ecf4
mov dword [esi + 0x1a68], 0x1f53
mov dword [esi + 0x1a68], 0x1f54
test eax, eax
call fcn.006865f9
mov dword [ebp - 0x48], eax
inc word [ebx + 0xe]
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x18], eax
push esi
call fcn.00463a17
pop ecx
mov ecx, dword [ebp - 0x34]
dec ecx
imul ecx
mov edx, dword [esi + 0x3b0]
add edx, edx
add edx, dword [ebp - 0x48]
add eax, edx
mov dword [ebx + 0x1c], eax
mov dword [esi + 0x1a68], 0x1f55
mov dword [esi + 0x1a68], 0x1f56
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x3c]
jae 0x45ed19
inc dword [ebp - 0x44]
movzx ecx, word [esi + 0x12c]
cmp ecx, dword [ebp - 0x44]
jg 0x45ea38
cmp dword [ebp - 0x34], 0
jle 0x45ed64
mov dword [esi + 0x1a68], 0x1f57
push esi
call fcn.00463a17
pop ecx
imul dword [ebp - 0x34]
mov dword [esi + 0x614], eax
call fcn.006865f9
add eax, dword [esi + 0x614]
mov dword [esi + 0x610], eax
xor eax, eax
mov dword [esi + 0x1a68], 0x1f58
mov dword [esi + 0x600], eax
xor edx, edx
mov dword [esi + 0x634], edx
mov dword [esi + 0x1a68], 0x1f59
cmp dword [esi + 0x600], 0
je 0x45ee23
mov dword [esi + 0x1a68], 0x1f5a
xor ebx, ebx
mov word [ebp - 0x18], 8
cmp dword [esi + 0x630], 0
je 0x45eddb
cmp dword [esi + 0x634], 0
je 0x45edce
call fcn.006865f9
mov ecx, eax
mov eax, dword [esi + 0x3b0]
mov edi, 3
xor edx, edx
div edi
add eax, dword [esi + 0x634]
cmp ecx, eax
jbe 0x45ede0
mov ebx, 1
xor eax, eax
mov dword [esi + 0x634], eax
jmp 0x45ede0
call fcn.006865f9
mov dword [esi + 0x634], eax
jmp 0x45ede0
mov ebx, 1
mov dword [esi + 0x1a68], 0x1f5b
test ebx, ebx
je 0x45ee19
mov dword [esi + 0x1a68], 0x1f5c
push esi
call fcn.0045f00b
pop ecx
xor eax, eax
mov dword [esi + 0x1a68], 0x1f5d
mov dword [esi + 0x600], eax
xor edx, edx
mov dword [esi + 0x634], edx
mov dword [esi + 0x1a68], 0x1f5e
mov dword [esi + 0x1a68], 0x1f5f
mov word [ebp - 0x18], 0
jmp 0x45ee73
mov ecx, dword [ebp - 0x28]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret