Function at 0x48f680
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 0x48f6b9
cmp byte [esi + 0x2e1], 3
jb 0x48f6b9
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 0x48f6d0
mov eax, dword [esi]
mov edi, dword [eax + 0x3c]
test edi, edi
je 0x48f72d
nop dword [eax]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x48f71d
mov esi, dword [esi + 0x4e0]
cmp esi, 0x80
jae 0x48f6ec
mov ecx, 1
jmp 0x48f715
mov eax, 3
mov ecx, 0x10
mov edx, esi
shr edx, cl
test edx, edx
jne 0x48f706
sub ecx, 8
sub eax, 1
jne 0x48f6f6
mov ecx, 1
test al, al
je 0x48f715
nop
inc ecx
add al, 0xff
jne 0x48f710
lea eax, [esi + ecx]
add ebx, 3
add ebx, eax
mov edi, dword [edi + 0x124]
test edi, edi
jne 0x48f6d0
mov esi, dword [ebp - 0x10]
mov dword [ebp - 8], ebx
mov edi, dword [ebp - 0xc]
add edi, ebx
test byte [esi + 0x424], 6
jne 0x48fabb
test byte [esi + 0x422], 4
lea ebx, [edi + 9]
mov dword [ebp - 0x18], ebx
jne 0x48f76e
cmp byte [esi + 0x40c], 0
je 0x48f76e
cmp byte [esi + 0x1d5], 0
je 0x48f76e
lea eax, [esi + 0x40c]
add ebx, 0x66
mov dword [ebp - 0xc], eax
jmp 0x48f789
cmp byte [esi + 0x40c], 0
lea eax, [esi + 0x40c]
mov dword [ebp - 0xc], eax
je 0x48f795
cmp byte [esi + 0x1d5], 0
je 0x48f795
mov ecx, esi
call fcn.00483500
add ebx, eax
mov dword [ebp - 0x18], ebx
mov eax, 0x800
mov edx, ebx
or word [esi + 0x426], ax
mov ecx, esi
call fcn.004893c0
test eax, eax
jne 0x48fabd
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.00489bd0
mov byte [edi + 9], 1
add esp, 8
mov al, byte [esi + 0x429]
cmp al, 0xc0
je 0x48f7e4
cmp al, 0xcc
jne 0x48f7ef
cmp byte [esi + 0x2f0], 3
mov al, 0x40
je 0x48f7f1
mov al, 1
mov byte [edi + 0xa], al
mov ebx, 0xb
cmp byte [esi + 0x2e0], 3
jne 0x48f84b
cmp byte [esi + 0x2e1], 3
jb 0x48f84b
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.0041d170
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 0x48f880
mov eax, dword [esi]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 8], eax
test eax, eax
je 0x48f9bb
nop word [eax + eax]
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x14], edi
test edi, edi
je 0x48f9a4
mov esi, dword [edi + 0x4e0]
cmp esi, 0x80
jae 0x48f8a3
mov ecx, 1
jmp 0x48f8d6
mov edx, 3
mov ecx, 0x10
nop dword [eax]
mov eax, esi
shr eax, cl
test eax, eax
jne 0x48f8c0
sub ecx, 8
sub edx, 1
jne 0x48f8b0
mov ecx, 1
test dl, dl
je 0x48f8d6
nop dword [eax]
inc ecx
add dl, 0xff
jne 0x48f8d0
mov edx, dword [ebp - 4]
inc cx
lea eax, [ecx + esi]
movzx ecx, ax
mov eax, ecx
mov byte [edx + ebx + 1], cl
shr eax, 8
mov byte [edx + ebx], al
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 0x48f909
mov byte [edi], 0x30
inc edi
jmp 0x48f90b
xor edi, edi
cmp ebx, 0x80
jae 0x48f920
test edi, edi
je 0x48f919
mov byte [edi], bl
mov esi, 1
jmp 0x48f974
mov edx, 3
mov ecx, 0x10
nop word [eax + eax]
mov eax, ebx
shr eax, cl
test eax, eax
jne 0x48f940
sub ecx, 8
sub edx, 1
jne 0x48f930
test edi, edi
je 0x48f94a
mov al, dl
or al, 0x80
mov byte [edi], al
mov esi, 1
test dl, dl
je 0x48f974
movzx eax, dl
lea ecx, [eax*8 - 8]
nop dword [eax]
test edi, edi
je 0x48f96b
mov eax, ebx
shr eax, cl
mov byte [edi + esi], al
inc esi
sub ecx, 8
add dl, 0xff
jne 0x48f960
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.0041d170
mov eax, dword [ebp - 8]
add esp, 0xc
add ebx, dword [esi + 0x4e0]
jmp 0x48f9a7
mov edi, dword [ebp - 4]
mov eax, dword [eax + 0x124]
mov dword [ebp - 8], eax
test eax, eax
jne 0x48f880
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0
je 0x48fa40
cmp byte [esi + 0x1d5], 0
je 0x48fa40
movzx esi, word [esi + 0x422]
and esi, 4
add esi, esi
or esi, 5
sub ebx, esi
test ebx, ebx
jg 0x48f9ed
mov eax, 0xffffff7c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.00472840
mov edi, eax
test edi, edi
jne 0x48fa04
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.0041d170
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.0048dc50
add esp, 0x20
mov ecx, edi
mov ebx, eax
call fcn.00472860
test ebx, ebx
jns 0x48fa5a
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.00489d60
add esp, 8
test eax, eax
je 0x48fa5d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 4]
cmp byte [esi + 0x4f9], 0
je 0x48fa7d
sub esp, 8
mov ecx, esi
push 1
push ebx
push edi
push 0x16
call fcn.00482fa0
add esp, 0x18
test eax, eax
jne 0x48fabd
add dword [esi + 0x218], ebx
test byte [esi + 0x424], 0x80
je 0x48faa1
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.0048ff70
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