Function at 0x1004d8a0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov edx, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
mov dword [edx], esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], esi
mov ecx, dword [edi + 0xc]
mov ebx, dword [edi]
mov eax, dword [edi + 8]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x34], edx
mov dword [edi + 4], ebx
test ecx, ecx
jle 0x1004dc77
nop dword [eax]
xorps xmm0, xmm0
mov dword [ebp - 0x7c], eax
movlpd qword [ebp - 0x84], xmm0
movlpd qword [ebp - 0x74], xmm0
movlpd qword [ebp - 0x6c], xmm0
movlpd qword [ebp - 0x64], xmm0
movaps xmm0, xmmword [0x100a1500]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0xffffffff
movzx eax, byte [eax]
add eax, 0xffffffda
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], 0
cmp eax, 0xcd
ja case.0x1004d93b.39
movzx eax, byte [eax + 0x1004dc90]
jmp dword [eax*4 + 0x1004dc84]
xor eax, eax
cmp edx, 2
sete al
test eax, eax
je case.0x1004d93b.39
push edx
lea eax, [ebp - 0x84]
mov edx, ecx
mov ecx, dword [ebp - 8]
push eax
call fcn.1004dd60
mov edx, dword [ebp - 0x78]
add esp, 8
mov edi, dword [ebp - 0xc]
mov ecx, edx
sub ecx, dword [ebp - 0x7c]
sub edi, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xc], edi
je 0x1004d981
cmp ecx, 0xf
jne 0x1004d9ff
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
not eax
test al, 4
je 0x1004d9f7
mov eax, edx
sub eax, dword [ebp - 8]
add esi, eax
cmp esi, dword [ebp + 0xc]
ja 0x1004dc6b
mov edi, dword [ebp - 8]
cmp edi, edx
jae 0x1004d9ec
imul eax, dword [ebp - 0x10], 0xa4
mov dword [ebp - 0x10], esi
add eax, dword [ebp + 8]
push 0x40
mov esi, eax
add eax, 0xa4
push 0
push esi
mov dword [ebp - 0x28], eax
call fcn.10063ea0
mov eax, 0xffff
add esp, 0xc
mov word [esi + 0x14], ax
mov al, byte [edi]
inc edi
mov dword [esi + 0x10], ebx
inc ebx
mov byte [esi], al
mov eax, dword [ebp - 0x28]
mov byte [esi + 0x2e], 1
cmp edi, dword [ebp - 0x78]
jb 0x1004d9b1
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov dword [eax], esi
test edi, edi
je 0x1004dc77
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x18]
add eax, ecx
add ebx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], ebx
cmp ecx, 0xf
je 0x1004dc40
mov edx, dword [ebp - 0x34]
jmp 0x1004da23
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], esi
cmp edx, 2
jne 0x1004da91
mov ecx, dword [ebp - 0x84]
test ecx, 0x2000000
je 0x1004da67
dec eax
cmp dword [ebp - 0x70], eax
je 0x1004da67
mov edx, dword [ebp - 0x58]
and ecx, 0xfdffffff
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x6c], 0
cmp edx, 0xffffffff
je 0x1004da67
movzx eax, word [ebp - 0x68]
bts eax, edx
mov word [ebp - 0x68], ax
jmp 0x1004da6b
mov ax, word [ebp - 0x68]
test ecx, 0x780
je 0x1004da91
and ecx, 0xfffff87f
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x50]
cmp ecx, 0xffffffff
je 0x1004da91
movzx eax, ax
bts eax, ecx
mov word [ebp - 0x68], ax
lea ecx, [esi + 1]
cmp ecx, dword [ebp + 0xc]
ja 0x1004dc6b
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x84]
imul ebx, esi, 0xa4
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edi
add ebx, dword [ebp + 8]
push ebx
call fcn.1004d160
mov esi, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
add esp, 4
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x2c], edx
test dl, 4
je 0x1004dae6
test byte [ebx + 0x33], 7
mov eax, 4
cmove esi, eax
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x7c]
mov dword [ebx + 0x10], ecx
cmp esi, 3
jne 0x1004db34
test dword [ebp - 0x84], 0x20000000
je 0x1004db34
mov eax, dword [ebp - 0x6c]
cmp eax, 3
jne 0x1004db14
mov eax, dword [ebp - 0x14]
sub eax, 2
add dword [ebp - 0xc], 2
jmp 0x1004db20
cmp eax, 2
mov eax, dword [ebp - 0x14]
jne 0x1004db23
dec eax
inc dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
lea esi, [eax + edi]
mov dword [ebp - 8], esi
dec esi
add eax, ecx
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x18], eax
jmp 0x1004db53
movzx eax, byte [ebx + 0x2e]
sub dword [ebp - 0xc], eax
add dword [ebp - 0x18], eax
add dword [ebp - 8], eax
mov al, byte [ebp - 0x14]
add byte [ebx + 0x2e], al
cmp esi, 3
jne 0x1004dc52
mov ecx, dword [ebp - 0x1c]
mov eax, edx
not eax
test al, 4
je 0x1004dc52
mov eax, dword [ebp - 0x28]
mov esi, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
add eax, 1
je 0x1004dbcb
mov eax, dword [ebp - 0x14]
inc eax
add eax, dword [ebp - 0x10]
cmp eax, dword [ebp + 0xc]
ja 0x1004dc6b
mov eax, dword [ebp - 0x78]
inc eax
cmp edi, eax
jae 0x1004dbcb
sub ecx, edi
sub eax, edi
add dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ecx
push 0x40
mov esi, ebx
add ebx, 0xa4
push 0
push esi
call fcn.10063ea0
mov eax, 0xffff
add esp, 0xc
mov word [esi + 0x14], ax
mov al, byte [edi]
mov byte [esi], al
mov eax, dword [ebp - 0x1c]
add eax, edi
mov byte [esi + 0x2e], 1
mov dword [esi + 0x10], eax
inc edi
mov eax, dword [ebp - 0x78]
inc eax
cmp edi, eax
jb 0x1004db91
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebx], eax
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x18]
mov dword [eax + 4], ebx
movzx eax, byte [esi + 0x33]
and eax, 7
cmp ecx, 1
jne 0x1004dc3d
test edx, 0x3f8
je 0x1004dc3d
test dl, 8
je 0x1004dbfc
cmp eax, ecx
je 0x1004dc77
test dl, 0x10
je 0x1004dc06
cmp eax, 2
je 0x1004dc77
test dl, 0x20
je 0x1004dc10
cmp eax, 3
je 0x1004dc77
test dl, 0x40
je 0x1004dc1a
cmp eax, 4
je 0x1004dc77
test dl, dl
jns 0x1004dc23
cmp eax, 5
je 0x1004dc77
test edx, 0x100
je 0x1004dc30
cmp eax, 6
je 0x1004dc77
test edx, 0x200
je 0x1004dc3d
cmp eax, 7
je 0x1004dc77
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
test ecx, ecx
jle 0x1004dc77
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x10]
jmp 0x1004d8e0
mov ecx, dword [ebp - 0x20]
mov esi, ebx
cmp ecx, 4
jne 0x1004dbce
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
jmp 0x1004dbce
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret