Function at 0x48f960
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0xc], 4
xor ebx, ebx
mov dword [ebp - 0x10], esi
push edi
mov dword [ebp - 8], ebx
cmp byte [esi + 0x2e0], 3
jne 0x48f999
cmp byte [esi + 0x2e1], 3
jb 0x48f999
mov eax, dword [esi + 4]
movzx eax, word [eax + 2]
add eax, 6
mov dword [ebp - 0xc], eax
mov edi, dword [esi + 0x1414]
test edi, edi
jne 0x48f9b0
mov eax, dword [esi]
mov edi, dword [eax + 0x3c]
test edi, edi
je 0x48fa0d
nop dword [eax]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x48f9fd
mov esi, dword [esi + 0x4e0]
cmp esi, 0x80
jae 0x48f9cc
mov ecx, 1
jmp 0x48f9f5
mov eax, 3
mov ecx, 0x10
mov edx, esi
shr edx, cl
test edx, edx
jne 0x48f9e6
sub ecx, 8
sub eax, 1
jne 0x48f9d6
mov ecx, 1
test al, al
je 0x48f9f5
nop
inc ecx
add al, 0xff
jne 0x48f9f0
lea eax, [esi + ecx]
add ebx, 3
add ebx, eax
mov edi, dword [edi + 0x124]
test edi, edi
jne 0x48f9b0
mov esi, dword [ebp - 0x10]
mov dword [ebp - 8], ebx
mov edi, dword [ebp - 0xc]
add edi, ebx
test byte [esi + 0x424], 6
jne 0x48fd9b
test byte [esi + 0x422], 4
lea ebx, [edi + 9]
mov dword [ebp - 0x18], ebx
jne 0x48fa4e
cmp byte [esi + 0x40c], 0
je 0x48fa4e
cmp byte [esi + 0x1d5], 0
je 0x48fa4e
lea eax, [esi + 0x40c]
add ebx, 0x66
mov dword [ebp - 0xc], eax
jmp 0x48fa69
cmp byte [esi + 0x40c], 0
lea eax, [esi + 0x40c]
mov dword [ebp - 0xc], eax
je 0x48fa75
cmp byte [esi + 0x1d5], 0
je 0x48fa75
mov ecx, esi
call fcn.004837f0
add ebx, eax
mov dword [ebp - 0x18], ebx
mov eax, 0x800
mov edx, ebx
or word [esi + 0x426], ax
mov ecx, esi
call fcn.004896a0
test eax, eax
jne 0x48fd9d
mov eax, dword [esi + 0x218]
mov edx, edi
add eax, dword [esi + 0x214]
mov edi, eax
mov dword [ebp - 4], eax
push esi
push 0xd
mov ecx, edi
call fcn.00489eb0
mov byte [edi + 9], 1
add esp, 8
mov al, byte [esi + 0x429]
cmp al, 0xc0
je 0x48fac4
cmp al, 0xcc
jne 0x48facf
cmp byte [esi + 0x2f0], 3
mov al, 0x40
je 0x48fad1
mov al, 1
mov byte [edi + 0xa], al
mov ebx, 0xb
cmp byte [esi + 0x2e0], 3
jne 0x48fb2b
cmp byte [esi + 0x2e1], 3
jb 0x48fb2b
mov eax, dword [esi + 4]
movzx ecx, word [eax + 2]
mov eax, ecx
mov byte [edi + 0xc], cl
shr eax, 8
mov byte [edi + 0xb], al
mov ecx, dword [esi + 4]
movzx eax, word [ecx + 2]
push eax
lea eax, [ecx + 0x130]
push eax
lea eax, [edi + 0xd]
push eax
call fcn.0041d1d0
mov eax, dword [esi + 4]
add esp, 0xc
movzx ebx, word [eax + 2]
lea eax, [esi + 0x40c]
add ebx, 0xd
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
mov eax, ecx
shr eax, 8
mov byte [edi + ebx], al
mov byte [edi + ebx + 1], cl
add ebx, 2
mov eax, dword [esi + 0x1414]
mov dword [ebp - 8], eax
test eax, eax
jne 0x48fb60
mov eax, dword [esi]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 8], eax
test eax, eax
je 0x48fc9b
nop word [eax + eax]
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x14], edi
test edi, edi
je 0x48fc84
mov esi, dword [edi + 0x4e0]
cmp esi, 0x80
jae 0x48fb83
mov ecx, 1
jmp 0x48fbb6
mov edx, 3
mov ecx, 0x10
nop dword [eax]
mov eax, esi
shr eax, cl
test eax, eax
jne 0x48fba0
sub ecx, 8
sub edx, 1
jne 0x48fb90
mov ecx, 1
test dl, dl
je 0x48fbb6
nop dword [eax]
inc ecx
add dl, 0xff
jne 0x48fbb0
mov ax, word [edi + 0x4e0]
inc cx
mov edx, dword [ebp - 4]
add ax, cx
movzx ecx, ax
mov eax, ecx
shr eax, 8
mov byte [edx + ebx], al
mov byte [edx + ebx + 1], cl
add ebx, 2
mov dword [ebp - 0x1c], ebx
lea edi, [edx + ebx]
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 0x4e0]
test edi, edi
je 0x48fbf0
mov byte [edi], 0x30
inc edi
jmp 0x48fbf2
xor edi, edi
cmp ebx, 0x80
jae 0x48fc07
test edi, edi
je 0x48fc00
mov byte [edi], bl
mov esi, 1
jmp 0x48fc54
mov edx, 3
mov ecx, 0x10
mov eax, ebx
shr eax, cl
test eax, eax
jne 0x48fc21
sub ecx, 8
sub edx, 1
jne 0x48fc11
test edi, edi
je 0x48fc2b
mov al, dl
or al, 0x80
mov byte [edi], al
mov esi, 1
test dl, dl
je 0x48fc54
movzx eax, dl
lea ecx, [eax*8 - 8]
nop
test edi, edi
je 0x48fc4b
mov eax, ebx
shr eax, cl
mov byte [edi + esi], al
inc esi
sub ecx, 8
add dl, 0xff
jne 0x48fc40
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 4]
inc ebx
add ebx, esi
mov esi, dword [ebp - 0x14]
push dword [esi + 0x4e0]
lea eax, [esi + 0x394]
push eax
lea eax, [edi + ebx]
push eax
call fcn.0041d1d0
mov eax, dword [ebp - 8]
add esp, 0xc
add ebx, dword [esi + 0x4e0]
jmp 0x48fc87
mov edi, dword [ebp - 4]
mov eax, dword [eax + 0x124]
mov dword [ebp - 8], eax
test eax, eax
jne 0x48fb60
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0
je 0x48fd20
cmp byte [esi + 0x1d5], 0
je 0x48fd20
movzx esi, word [esi + 0x422]
and esi, 4
add esi, esi
or esi, 5
sub ebx, esi
test ebx, ebx
jg 0x48fccd
mov eax, 0xffffff7c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.00472af0
mov edi, eax
test edi, edi
jne 0x48fce4
lea eax, [edi - 0x7d]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
push ebx
add eax, esi
push eax
push edi
call fcn.0041d1d0
mov esi, dword [ebp - 0x10]
mov ecx, esi
mov edx, dword [ebp - 4]
push 1
push 0x16
push ebx
push edi
push dword [ebp - 0x18]
call fcn.0048df30
add esp, 0x20
mov ecx, edi
mov ebx, eax
call fcn.00472b30
test ebx, ebx
jns 0x48fd3a
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push ebx
mov edx, edi
mov ecx, esi
call fcn.0048a040
add esp, 8
test eax, eax
je 0x48fd3d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 4]
cmp byte [esi + 0x4f9], 0
je 0x48fd5d
sub esp, 8
mov ecx, esi
push 1
push ebx
push edi
push 0x16
call fcn.00483290
add esp, 0x18
test eax, eax
jne 0x48fd9d
add dword [esi + 0x218], ebx
test byte [esi + 0x424], 0x80
je 0x48fd81
mov ecx, 0xf7ff
xor eax, eax
and word [esi + 0x426], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00490250
mov ecx, 0xf7ff
and word [esi + 0x426], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret