Function at 0x488d68
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x401e
push 0
push 0
dec ecx
jne 0x488d70
push ecx
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x48ab42
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, dword [ebp - 4]
add eax, 0x20074
mov ecx, 1
mov edx, dword [0x486ffc]
call fcn.00405e10
add esp, 4
push 0
mov eax, dword [ebp - 4]
add eax, 0x20058
mov ecx, 1
mov edx, dword [0x487d64]
call fcn.00405e10
add esp, 4
push 0
mov eax, dword [ebp - 4]
add eax, 0x2005c
mov ecx, 1
mov edx, dword [0x487d88]
call fcn.00405e10
add esp, 4
push 0
mov eax, dword [ebp - 4]
add eax, 0x20060
mov ecx, 1
mov edx, dword [0x487dac]
call fcn.00405e10
add esp, 4
push 0
mov eax, dword [ebp - 4]
add eax, 0x20064
mov ecx, 1
mov edx, dword [0x487dd0]
call fcn.00405e10
add esp, 4
push 0
mov eax, dword [ebp - 4]
add eax, 0x20054
mov ecx, 1
mov edx, dword [0x487d40]
call fcn.00405e10
add esp, 4
cmp ebx, 1
jne 0x488e58
mov eax, dword [ebp - 4]
lea ecx, [eax + 4]
mov edx, 0xe0000
mov eax, dword [ebp - 4]
call fcn.0048c67c
mov ebx, eax
jmp 0x488e5a
mov bl, 1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x20004], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x20008], edx
mov eax, dword [ebp - 4]
add eax, 0x2000c
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20010
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20014
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20018
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x2001c
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20020
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20024
call fcn.00404a88
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x20028], edx
mov eax, dword [ebp - 4]
add eax, 0x2002c
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20030
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20034
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20038
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x2003c
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20040
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20044
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20048
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x2004c
call fcn.00404a88
mov eax, dword [ebp - 4]
add eax, 0x20050
call fcn.00404a88
mov eax, dword [ebp - 4]
mov word [eax + 0x2006c], 0
mov eax, dword [ebp - 4]
mov word [eax + 0x2006a], 0
test bl, bl
je 0x488fef
mov esi, 0xe0000
mov eax, dword [ebp - 4]
mov al, byte [eax + esi - 0xdfffc]
mov edx, 0x48ab5c
cmp al, byte [edx]
jne 0x488fe6
lea eax, [ebp - 0x1001c]
mov edx, 0xffff
call fcn.00407a24
lea eax, [ebp - 0x1001c]
push eax
mov ecx, 4
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea eax, [ebp - 0x10020]
lea edx, [ebp - 0x1001c]
mov ecx, 0x10000
call fcn.00404cf8
mov edx, dword [ebp - 0x10020]
mov eax, 0x48ab5c
call fcn.004050a8
dec eax
jne 0x488fe6
mov eax, dword [ebp - 4]
mov dword [eax + 0x20004], esi
jmp 0x488fef
inc esi
cmp esi, 0x100000
jne 0x488f79
mov eax, dword [ebp - 4]
cmp dword [eax + 0x20004], 0
jne 0x48907f
mov esi, 0xe0000
mov eax, dword [ebp - 4]
mov al, byte [eax + esi - 0xdfffc]
mov edx, 0x48ab6c
cmp al, byte [edx]
jne 0x489076
lea eax, [ebp - 0x1001c]
mov edx, 0xffff
call fcn.00407a24
lea eax, [ebp - 0x1001c]
push eax
mov ecx, 5
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea eax, [ebp - 0x10024]
lea edx, [ebp - 0x1001c]
mov ecx, 0x10000
call fcn.00404cf8
mov edx, dword [ebp - 0x10024]
mov eax, 0x48ab6c
call fcn.004050a8
dec eax
jne 0x489076
mov eax, esi
sub eax, 0x10
mov edx, dword [ebp - 4]
mov dword [edx + 0x20004], eax
jmp 0x48907f
inc esi
cmp esi, 0x100000
jne 0x489004
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x20004]
test ebx, ebx
jbe 0x48aa62
lea eax, [ebp - 0x10028]
push eax
mov edx, ebx
add edx, 6
mov eax, dword [ebp - 4]
call fcn.00488ce8
and eax, 0xff
mov dword [ebp - 0x10038], eax
mov byte [ebp - 0x10034], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20004]
add edx, 7
mov eax, dword [ebp - 4]
call fcn.00488ce8
and eax, 0xff
mov dword [ebp - 0x10030], eax
mov byte [ebp - 0x1002c], 0
lea edx, [ebp - 0x10038]
mov ecx, 1
mov eax, 0x48ab7c
call fcn.0040a854
mov edx, dword [ebp - 0x10028]
mov eax, dword [ebp - 4]
add eax, 0x2001c
call fcn.00404adc
lea eax, [ebp - 0x1003c]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20004]
add edx, 0x1f
mov eax, dword [ebp - 4]
call fcn.00488ce8
and eax, 0xff
movzx eax, ax
mov dword [ebp - 0x10038], eax
mov byte [ebp - 0x10034], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20004]
add edx, 0x1f
mov eax, dword [ebp - 4]
call fcn.00488ce8
and eax, 0xff
shr ax, 8
movzx eax, ax
mov dword [ebp - 0x10030], eax
mov byte [ebp - 0x1002c], 0
lea edx, [ebp - 0x10038]
mov ecx, 1
mov eax, 0x48ab7c
call fcn.0040a854
mov edx, dword [ebp - 0x1003c]
mov eax, dword [ebp - 4]
add eax, 0x20070
call fcn.00404adc
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20004]
add edx, 0x18
mov eax, dword [ebp - 4]
call fcn.00488d04
mov edx, dword [ebp - 4]
mov dword [edx + 0x20008], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20004]
add edx, 0x1c
mov eax, dword [ebp - 4]
call fcn.00488d34
mov edx, dword [ebp - 4]
mov word [edx + 0x2006a], ax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20004]
add edx, 0x16
mov eax, dword [ebp - 4]
call fcn.00488d34
mov edx, dword [ebp - 4]
mov word [edx + 0x2006c], ax
mov eax, dword [ebp - 4]
call fcn.004889f0
push 0
lea eax, [ebp - 0x10048]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00488bdc
mov edi, dword [ebp - 0x10048]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x4893b1
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jne 0x4893b1
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
lea edx, [edi + 9]
mov eax, dword [ebp - 4]
call fcn.00488ce8
and eax, 0xff
inc eax
shl eax, 6
mov edx, dword [ebp - 4]
mov dword [edx + 0x20028], eax
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x4892d0
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20020
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20020]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x2004c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20020]
call fcn.00408f58
mov edx, dword [ebp - 0x2004c]
mov eax, dword [ebp - 4]
add eax, 0x20020
call fcn.00404adc
lea edx, [edi + 5]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489349
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20024
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20024]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x20050]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20024]
call fcn.00408f58
mov edx, dword [ebp - 0x20050]
mov eax, dword [ebp - 4]
add eax, 0x20024
call fcn.00404adc
lea edx, [edi + 8]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x4893b1
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20018
mov ecx, 0x10000
call fcn.00404cf8
lea edx, [ebp - 0x20054]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20018]
call fcn.00408f58
mov edx, dword [ebp - 0x20054]
mov eax, dword [ebp - 4]
add eax, 0x20018
call fcn.00404adc
push 0
lea eax, [ebp - 0x20060]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00488bdc
mov edi, dword [ebp - 0x20060]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x489649
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 1
jne 0x489649
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
mov eax, dword [ebp - 4]
add eax, 0x20050
call fcn.00404a88
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20074]
cmp byte [edx + eax*4 + 5], 8
jbe 0x489476
xor esi, esi
lea eax, [ebp - 0x20064]
push eax
lea edx, [esi + edi + 8]
mov eax, dword [ebp - 4]
call fcn.00488ce8
and eax, 0xff
mov dword [ebp - 0x2006c], eax
mov byte [ebp - 0x20068], 0
lea edx, [ebp - 0x2006c]
xor ecx, ecx
mov eax, 0x48ab8c
call fcn.0040a854
mov edx, dword [ebp - 0x20064]
mov eax, dword [ebp - 4]
add eax, 0x20050
call fcn.00404d6c
inc esi
cmp esi, 0x10
jne 0x489426
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x4894ef
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20010
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20010]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x20070]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20010]
call fcn.00408f58
mov edx, dword [ebp - 0x20070]
mov eax, dword [ebp - 4]
add eax, 0x20010
call fcn.00404adc
lea edx, [edi + 5]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489568
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20014
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20014]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x20074]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20014]
call fcn.00408f58
mov edx, dword [ebp - 0x20074]
mov eax, dword [ebp - 4]
add eax, 0x20014
call fcn.00404adc
lea edx, [edi + 6]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x4895e1
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x2002c
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2002c]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x20078]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2002c]
call fcn.00408f58
mov edx, dword [ebp - 0x20078]
mov eax, dword [ebp - 4]
add eax, 0x2002c
call fcn.00404adc
lea edx, [edi + 7]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489649
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20030
mov ecx, 0x10000
call fcn.00404cf8
lea edx, [ebp - 0x2007c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20030]
call fcn.00408f58
mov edx, dword [ebp - 0x2007c]
mov eax, dword [ebp - 4]
add eax, 0x20030
call fcn.00404adc
push 0
lea eax, [ebp - 0x20088]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00488bdc
mov edi, dword [ebp - 0x20088]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x48986c
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 2
jne 0x48986c
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489712
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20038
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20038]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x2008c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20038]
call fcn.00408f58
mov edx, dword [ebp - 0x2008c]
mov eax, dword [ebp - 4]
add eax, 0x20038
call fcn.00404adc
lea edx, [edi + 5]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48978b
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x2000c
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2000c]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x20090]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2000c]
call fcn.00408f58
mov edx, dword [ebp - 0x20090]
mov eax, dword [ebp - 4]
add eax, 0x2000c
call fcn.00404adc
lea edx, [edi + 6]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489804
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x2003c
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2003c]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x20094]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2003c]
call fcn.00408f58
mov edx, dword [ebp - 0x20094]
mov eax, dword [ebp - 4]
add eax, 0x2003c
call fcn.00404adc
lea edx, [edi + 7]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48986c
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20034
mov ecx, 0x10000
call fcn.00404cf8
lea edx, [ebp - 0x20098]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20034]
call fcn.00408f58
mov edx, dword [ebp - 0x20098]
mov eax, dword [ebp - 4]
add eax, 0x20034
call fcn.00404adc
push 0
lea eax, [ebp - 0x200a4]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 3
mov eax, dword [ebp - 4]
call fcn.00488bdc
mov edi, dword [ebp - 0x200a4]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x489cf8
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 3
jne 0x489cf8
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
lea edx, [edi + 5]
mov eax, dword [ebp - 4]
call fcn.00488ce8
and eax, 0xff
cmp eax, 0x18
ja case.0x4898d5.0
jmp dword [eax*4 + 0x4898dc]
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ab9c
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48abac
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48abbc
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48abcc
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48abe8
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48abfc
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ac10
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ac20
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ac34
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ac44
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ac58
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ac6c
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ac84
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ac98
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48acb0
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48acc8
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48acdc
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48acf8
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ad14
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ad28
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ad48
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ad64
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ad7c
call fcn.00404adc
jmp case.0x4898d5.0
mov eax, dword [ebp - 4]
add eax, 0x2004c
mov edx, 0x48ad98
call fcn.00404adc
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489bca
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20048
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20048]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x200a8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20048]
call fcn.00408f58
mov edx, dword [ebp - 0x200a8]
mov eax, dword [ebp - 4]
add eax, 0x20048
call fcn.00404adc
lea edx, [edi + 6]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489c43
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20044
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20044]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x200ac]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20044]
call fcn.00408f58
mov edx, dword [ebp - 0x200ac]
mov eax, dword [ebp - 4]
add eax, 0x20044
call fcn.00404adc
lea edx, [edi + 7]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489cbc
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, dword [ebp - 4]
add eax, 0x20040
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20040]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x200b0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20040]
call fcn.00408f58
mov edx, dword [ebp - 0x200b0]
mov eax, dword [ebp - 4]
add eax, 0x20040
call fcn.00404adc
lea edx, [edi + 8]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489cf8
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
lea eax, [ebp - 0x10]
mov ecx, 0x10000
call fcn.00404cf8
push 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 4
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jle 0x48a09d
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20074]
mov edi, dword [edx + eax*4]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x48a078
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 4
jne 0x48a078
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20054]
call fcn.00405c34
inc eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x20054
mov ecx, 1
mov edx, dword [0x487d40]
call fcn.00405e10
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20054]
call fcn.00405c3c
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20054]
lea esi, [edx + eax*8]
mov eax, dword [ebp - 4]
lea eax, [eax + edi - 0xdffeb]
lea edx, [ebp - 9]
mov ecx, 1
call fcn.00402cfc
xor eax, eax
mov al, byte [ebp - 9]
mov dl, 7
call fcn.004801b0
test al, al
je 0x489deb
xor eax, eax
mov al, byte [ebp - 9]
sub eax, 0x80
mov dword [ebp - 0x200b4], eax
fild dword [ebp - 0x200b4]
fdiv dword [0x48ada8]
fstp qword [esi + 0x10]
wait
jmp 0x489e47
xor eax, eax
mov al, byte [ebp - 9]
xor edx, edx
call fcn.004801b0
test al, al
je 0x489e09
xor eax, eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0x40140000
jmp 0x489e47
xor eax, eax
mov al, byte [ebp - 9]
mov dl, 1
call fcn.004801b0
test al, al
je 0x489e29
mov dword [esi + 0x10], 0x66666666
mov dword [esi + 0x14], 0x400a6666
jmp 0x489e47
xor eax, eax
mov al, byte [ebp - 9]
mov dl, 2
call fcn.004801b0
test al, al
je 0x489e47
mov dword [esi + 0x10], 0x33333333
mov dword [esi + 0x14], 0x40073333
mov eax, dword [ebp - 4]
lea eax, [eax + edi - 0xdffe3]
lea edx, [ebp - 9]
mov ecx, 1
call fcn.00402cfc
xor eax, eax
mov al, byte [ebp - 9]
cmp eax, 9
ja case.0x489e6c.0
jmp dword [eax*4 + 0x489e73]
lea eax, [esi + 0xc]
mov edx, 0x48ab9c
call fcn.00404adc
jmp case.0x489e6c.0
lea eax, [esi + 0xc]
mov edx, 0x48abac
call fcn.00404adc
jmp case.0x489e6c.0
lea eax, [esi + 0xc]
mov edx, 0x48adb4
call fcn.00404adc
jmp case.0x489e6c.0
lea eax, [esi + 0xc]
mov edx, 0x48adcc
call fcn.00404adc
jmp case.0x489e6c.0
lea eax, [esi + 0xc]
mov edx, 0x48ade0
call fcn.00404adc
jmp case.0x489e6c.0
lea eax, [esi + 0xc]
mov edx, 0x48ae00
call fcn.00404adc
jmp case.0x489e6c.0
lea eax, [esi + 0xc]
mov edx, 0x48ae10
call fcn.00404adc
jmp case.0x489e6c.0
lea eax, [esi + 0xc]
mov edx, 0x48ae24
call fcn.00404adc
jmp case.0x489e6c.0
lea eax, [esi + 0xc]
mov edx, 0x48ae34
call fcn.00404adc
mov eax, dword [ebp - 4]
lea eax, [eax + edi - 0xdffea]
lea edx, [ebp - 0x12]
mov ecx, 2
call fcn.00402cfc
mov ax, word [ebp - 0x12]
mov word [esi + 0x1a], ax
mov eax, dword [ebp - 4]
lea eax, [eax + edi - 0xdffe6]
lea edx, [ebp - 0x12]
mov ecx, 2
call fcn.00402cfc
mov ax, word [ebp - 0x12]
mov word [esi + 0x18], ax
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x489fbd
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
mov eax, esi
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [esi]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x200b8]
mov eax, dword [esi]
call fcn.00408f58
mov edx, dword [ebp - 0x200b8]
mov eax, esi
call fcn.00404adc
lea edx, [edi + 7]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48a020
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
lea eax, [esi + 4]
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [esi + 4]
call fcn.00404d64
add bl, al
inc ebx
lea edx, [ebp - 0x200bc]
mov eax, dword [esi + 4]
call fcn.00408f58
mov edx, dword [ebp - 0x200bc]
lea eax, [esi + 4]
call fcn.00404adc
lea edx, [edi + 0x10]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48a078
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
lea eax, [esi + 8]
mov ecx, 0x10000
call fcn.00404cf8
lea edx, [ebp - 0x200c0]
mov eax, dword [esi + 8]
call fcn.00408f58
mov edx, dword [ebp - 0x200c0]
lea eax, [esi + 8]
call fcn.00404adc
mov eax, dword [ebp - 8]
inc eax
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 4
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x489d1a
push 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jle 0x48a2c9
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20074]
mov edi, dword [edx + eax*4]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x48a2a4
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 6
jne 0x48a2a4
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20058]
call fcn.00405c34
inc eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x20058
mov ecx, 1
mov edx, dword [0x487d64]
call fcn.00405e10
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20058]
call fcn.00405c3c
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20058]
lea eax, [edx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [eax + 0xc], 6
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48a1b2
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
lea eax, [ebp - 0x200c8]
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 0x200c8]
lea edx, [ebp - 0x200c4]
call fcn.00408f58
mov edx, dword [ebp - 0x200c4]
mov eax, dword [ebp - 0x18]
call fcn.00404adc
lea edx, [edi + 6]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov edx, dword [ebp - 0x18]
mov byte [edx + 4], al
lea edx, [edi + 7]
mov eax, dword [ebp - 4]
call fcn.00488d34
mov word [ebp - 0x12], ax
mov eax, dword [ebp - 0x18]
mov dx, word [0x48ae3c]
mov word [eax + 0x10], dx
xor esi, esi
mov edx, esi
movzx eax, word [ebp - 0x12]
call fcn.004801b0
test al, al
je 0x48a215
mov edx, esi
lea eax, [ebp - 0x200cc]
mov cl, 2
call fcn.00403768
mov ax, word [ebp - 0x200cc]
mov edx, dword [ebp - 0x18]
or ax, word [edx + 0x10]
mov edx, dword [ebp - 0x18]
mov word [edx + 0x10], ax
inc esi
cmp esi, 0xb
jne 0x48a1e2
lea edx, [edi + 9]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0x80
jb 0x48a233
xor byte [ebp - 9], 0x80
mov al, byte [ebp - 9]
add al, 0x83
sub al, 3
jae 0x48a246
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [eax + 8], edx
jmp 0x48a2a4
xor eax, eax
push ebp
push 0x48a292
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4000
push 0x80000000
push 0
xor eax, eax
mov al, byte [ebp - 9]
mov dword [ebp - 0x200b4], eax
fild dword [ebp - 0x200b4]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0042d9b0
call fcn.00402f64
mov edx, dword [ebp - 0x18]
mov dword [edx + 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a2a4
mov eax, dword [ebp - 8]
inc eax
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x48a0bf
push 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jle 0x48a52d
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20074]
mov edi, dword [edx + eax*4]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x48a508
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 7
jne 0x48a508
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20064]
call fcn.00405c34
inc eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x20064
mov ecx, 1
mov edx, dword [0x487dd0]
call fcn.00405e10
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20064]
call fcn.00405c3c
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20064]
lea eax, [edx + eax*4]
mov dword [ebp - 0x1c], eax
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48a3d4
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
lea eax, [ebp - 0x200d4]
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 0x200d4]
lea edx, [ebp - 0x200d0]
call fcn.00408f58
mov edx, dword [ebp - 0x200d0]
mov eax, dword [ebp - 0x1c]
call fcn.00404adc
lea ebx, [edi + 7]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00488d34
mov word [ebp - 0x12], ax
cmp word [ebp - 0x12], 0x8000
jb 0x48a3f3
xor word [ebp - 0x12], 0x8000
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00488d34
movzx eax, ax
mov dl, 0xf
call fcn.004801b0
test al, al
je 0x48a41b
mov ax, word [ebp - 0x12]
shl eax, 6
mov edx, dword [ebp - 0x1c]
mov word [edx + 4], ax
jmp 0x48a426
mov eax, dword [ebp - 0x1c]
mov dx, word [ebp - 0x12]
mov word [eax + 4], dx
lea ebx, [edi + 9]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00488d34
mov word [ebp - 0x12], ax
cmp word [ebp - 0x12], 0x8000
jb 0x48a445
xor word [ebp - 0x12], 0x8000
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00488d34
movzx eax, ax
mov dl, 0xf
call fcn.004801b0
test al, al
je 0x48a46d
mov ax, word [ebp - 0x12]
shl eax, 6
mov edx, dword [ebp - 0x1c]
mov word [edx + 6], ax
jmp 0x48a478
mov eax, dword [ebp - 0x1c]
mov dx, word [ebp - 0x12]
mov word [eax + 6], dx
lea edx, [edi + 0xd]
mov eax, dword [ebp - 4]
call fcn.00488d34
mov word [ebp - 0x12], ax
xor esi, esi
mov edx, esi
movzx eax, word [ebp - 0x12]
call fcn.004801b0
test al, al
je 0x48a4a0
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov byte [edx + 8], al
inc esi
cmp esi, 7
jne 0x48a489
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20074]
cmp byte [edx + eax*4 + 5], 0xf
ja 0x48a4d3
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xa], 1
mov eax, dword [ebp - 0x1c]
mov byte [eax + 9], 1
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xb], 0
jmp 0x48a508
lea edx, [edi + 0x12]
mov eax, dword [ebp - 4]
call fcn.00488ce8
dec eax
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xa], al
lea edx, [edi + 0x11]
mov eax, dword [ebp - 4]
call fcn.00488ce8
dec eax
mov edx, dword [ebp - 0x1c]
mov byte [edx + 9], al
lea edx, [edi + 0xf]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xb], al
mov eax, dword [ebp - 8]
inc eax
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x48a2eb
push 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 8
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jle 0x48a6f9
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20074]
mov edi, dword [edx + eax*4]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x48a6d4
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 8
jne 0x48a6d4
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2005c]
call fcn.00405c34
inc eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x2005c
mov ecx, 1
mov edx, dword [0x487d88]
call fcn.00405e10
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2005c]
call fcn.00405c3c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2005c]
lea esi, [edx + eax*8]
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48a631
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
lea eax, [ebp - 0x200dc]
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 0x200dc]
lea edx, [ebp - 0x200d8]
call fcn.00408f58
mov edx, dword [ebp - 0x200d8]
mov eax, esi
call fcn.00404adc
lea edx, [edi + 5]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0xff
jae 0x48a64d
mov al, byte [ebp - 9]
mov byte [esi + 4], al
jmp 0x48a651
mov byte [esi + 4], 0x27
lea edx, [edi + 8]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0xff
jae 0x48a677
cmp byte [ebp - 9], 0x1f
jbe 0x48a66f
sub byte [ebp - 9], 0x80
mov al, byte [ebp - 9]
mov byte [esi + 5], al
jmp 0x48a67b
mov byte [esi + 5], 0x22
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2005c]
call fcn.00405c3c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2005c]
mov eax, dword [edx + eax*8]
lea edx, [ebp - 0x200e0]
call fcn.00408f58
cmp dword [ebp - 0x200e0], 0
jne 0x48a6d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2005c]
call fcn.00405c34
dec eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x2005c
mov ecx, 1
mov edx, dword [0x487d88]
call fcn.00405e10
add esp, 4
mov eax, dword [ebp - 8]
inc eax
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 8
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x48a54f
push 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jle 0x48a8b8
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20074]
mov edi, dword [edx + eax*4]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x48a893
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 9
jne 0x48a893
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20060]
call fcn.00405c34
inc eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x20060
mov ecx, 1
mov edx, dword [0x487dac]
call fcn.00405e10
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20060]
call fcn.00405c3c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20060]
lea esi, [edx + eax*8]
lea edx, [edi + 4]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48a7fd
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
lea eax, [ebp - 0x200e8]
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 0x200e8]
lea edx, [ebp - 0x200e4]
call fcn.00408f58
mov edx, dword [ebp - 0x200e4]
mov eax, esi
call fcn.00404adc
lea edx, [edi + 5]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0x11
jbe 0x48a815
sub byte [ebp - 9], 0x8e
mov al, byte [ebp - 9]
dec eax
mov byte [esi + 4], al
lea edx, [edi + 6]
mov eax, dword [ebp - 4]
call fcn.00488ce8
dec eax
mov byte [esi + 5], al
lea edx, [edi + 9]
mov eax, dword [ebp - 4]
call fcn.00488d34
mov word [esi + 6], ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20060]
call fcn.00405c3c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20060]
mov eax, dword [edx + eax*8]
lea edx, [ebp - 0x200ec]
call fcn.00408f58
cmp dword [ebp - 0x200ec], 0
jne 0x48a893
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20060]
call fcn.00405c34
dec eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x20060
mov ecx, 1
mov edx, dword [0x487dac]
call fcn.00405e10
add esp, 4
mov eax, dword [ebp - 8]
inc eax
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x48a71b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20058]
call fcn.00405c34
test eax, eax
jne 0x48aa62
push 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jle 0x48aa62
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20074]
mov edi, dword [edx + eax*4]
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x20008]
jb 0x48aa3d
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00488ce8
cmp al, 0x11
jne 0x48aa3d
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
call fcn.00488ce8
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20058]
call fcn.00405c34
inc eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x20058
mov ecx, 1
mov edx, dword [0x487d64]
call fcn.00405e10
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20058]
call fcn.00405c3c
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x20058]
lea esi, [edx + eax*4]
mov dword [esi + 0xc], 0x11
lea edx, [edi + 0xc]
mov eax, dword [ebp - 4]
call fcn.00488d34
movzx eax, ax
mov dword [esi + 8], eax
lea edx, [edi + 0x15]
mov eax, dword [ebp - 4]
call fcn.00488d34
mov byte [esi + 4], al
cmp byte [esi + 4], 0
jbe 0x48a9c2
lea edx, [edi + 0x15]
mov eax, dword [ebp - 4]
call fcn.00488d34
movzx eax, ax
push eax
mov eax, 0x3e8
pop edx
mov ecx, edx
xor edx, edx
div ecx
mov byte [esi + 4], al
lea edx, [edi + 0x10]
mov eax, dword [ebp - 4]
call fcn.00488ce8
test al, al
jbe 0x48aa1f
lea eax, [ebp - 0x20048]
push eax
xor edx, edx
mov dl, bl
add edx, edi
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.0048ae40
lea edx, [ebp - 0x20048]
lea eax, [ebp - 0x200f4]
mov ecx, 0x10000
call fcn.00404cf8
mov eax, dword [ebp - 0x200f4]
lea edx, [ebp - 0x200f0]
call fcn.00408f58
mov edx, dword [ebp - 0x200f0]
mov eax, esi
call fcn.00404adc
lea edx, [edi + 0xe]
mov eax, dword [ebp - 4]
call fcn.00488ce8
dec eax
mov byte [esi + 0x10], al
lea edx, [edi + 0x12]
mov eax, dword [ebp - 4]
call fcn.00488ce8
dec eax
mov byte [esi + 0x11], al
mov eax, dword [ebp - 8]
inc eax
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20074]
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00488c6c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x48a8f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48ab4c
lea eax, [ebp - 0x200f4]
mov edx, 0xa
call fcn.00404aac
lea eax, [ebp - 0x200c8]
mov edx, 5
call fcn.00404aac
lea eax, [ebp - 0x200b0]
mov edx, 3
call fcn.00404aac
lea eax, [ebp - 0x200a4]
mov edx, dword [0x486fd8]
call fcn.004055b8
lea eax, [ebp - 0x20098]
mov edx, 4
call fcn.00404aac
lea eax, [ebp - 0x20088]
mov edx, dword [0x486fd8]
call fcn.004055b8
lea eax, [ebp - 0x2007c]
mov edx, 4
call fcn.00404aac
lea eax, [ebp - 0x20064]
call fcn.00404a88
lea eax, [ebp - 0x20060]
mov edx, dword [0x486fd8]
call fcn.004055b8
lea eax, [ebp - 0x20054]
mov edx, 3
call fcn.00404aac
lea eax, [ebp - 0x10048]
mov edx, dword [0x486fd8]
call fcn.004055b8
lea eax, [ebp - 0x1003c]
call fcn.00404a88
lea eax, [ebp - 0x10028]
mov edx, 3
call fcn.00404aac
lea eax, [ebp - 0x10]
call fcn.00404a88
ret