Function at 0x48e468
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd7c
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x278], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49004f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4a0718]
cmp byte [eax + 0x4e96], 1
jne 0x48e53e
xor esi, esi
imul eax, esi, 0x2020
mov edx, dword [0x4a0718]
cmp byte [edx + eax*8 + 0x14ed2], 0
je 0x48e534
push 4
lea edx, [ebp - 0x280]
mov eax, 0x1b5
call fcn.00406264
lea eax, [ebp - 0x280]
mov edx, 0x490068
call fcn.0040354c
lea eax, [ebp - 0x280]
push eax
lea edx, [ebp - 0x284]
mov eax, 0x1b6
call fcn.00406264
mov edx, dword [ebp - 0x284]
pop eax
call fcn.0040354c
mov eax, dword [ebp - 0x280]
call fcn.00403708
mov edx, eax
mov ecx, 0x49006c
mov eax, dword [reloc.user32.dll_CharLowerA]
call fcn.00427000
cmp eax, 6
je 0x48e53e
jmp 0x490021
inc esi
cmp esi, 0x10
jne 0x48e4b3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3d4]
lea eax, [ebp - 0x150]
call fcn.00404185
mov edx, 1
lea eax, [ebp - 0x150]
call fcn.00404838
call fcn.00402754
test eax, eax
je 0x48e5bc
push 0
lea eax, [ebp - 0x280]
push eax
lea edx, [ebp - 0x284]
mov eax, 0x1cd
call fcn.00406264
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3d4]
mov eax, dword [ebp - 4]
call fcn.0048d888
mov eax, dword [ebp - 0x280]
call fcn.00403708
mov edx, eax
mov ecx, 0x49006c
mov eax, dword [reloc.user32.dll_CharLowerA]
call fcn.00427000
jmp 0x490021
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1b4]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
mov ebx, eax
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1b8]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
add ebx, eax
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1bc]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
add ebx, eax
add ebx, 0x14
mov dword [ebp - 0x268], ebx
mov eax, dword [0x4a0708]
mov eax, dword [eax + 0x278]
movzx eax, word [eax + 0xfe]
push eax
mov eax, dword [ebp - 0x268]
pop edx
mov ecx, edx
cdq
idiv ecx
inc eax
mov dword [ebp - 0x268], eax
lea edx, [ebp - 0x280]
mov eax, 0x129
call fcn.00406264
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 4]
call fcn.0048dae4
xor eax, eax
mov dword [ebp - 0x26c], eax
xor edx, edx
push ebp
push 0x49001a
push dword fs:[edx]
mov dword fs:[edx], esp
xor eax, eax
mov dword [ebp - 0x260], eax
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e96]
dec al
je 0x48e68c
dec eax
sub al, 3
jb 0x48e9d8
jmp 0x48ee75
mov eax, dword [ebp - 4]
mov byte [eax + 0x2ac], 0x55
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e99]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ad], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9a]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ae], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9b]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2af], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9c]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b0], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b1], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9e]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b2], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9f]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b3], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ea0]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b4], al
xor eax, eax
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4ea5], 0
je 0x48e749
or al, 1
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4ea7], 0
je 0x48e75a
or al, 4
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4ea9], 0
je 0x48e76b
or al, 8
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eaa], 0
je 0x48e77c
or al, 0x10
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eae], 0
je 0x48e78d
or al, 0x40
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eaf], 0
je 0x48e79e
or al, 0x80
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b5], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb5]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b6], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x2b7], 0xfc
mov eax, dword [ebp - 4]
mov byte [eax + 0x2b8], 0x80
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb6]
or al, 0xe0
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b9], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb7]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ba], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb8]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2bb], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb9]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2bc], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eba]
or al, 0xe0
mov edx, dword [ebp - 4]
mov byte [edx + 0x2bd], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ebb]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2be], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ebc]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2bf], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ebd]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c0], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c1], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c2], 0x3f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c3], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c4], 0x3f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c5], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c6], 0x3f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c7], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c8], 0x3f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c9], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2ca], 0
mov esi, 1
mov eax, dword [0x4a0718]
movzx eax, byte [eax + 0x4ec2]
cmp esi, eax
jg 0x48e90e
mov eax, dword [0x4a0718]
mov dl, byte [eax + esi + 0x4ec2]
mov eax, dword [0x4a0718]
call fcn.00498a18
mov edx, dword [ebp - 4]
mov byte [edx + esi + 0x2ca], al
jmp 0x48e919
mov eax, dword [ebp - 4]
mov byte [eax + esi + 0x2ca], 0xd
inc esi
cmp esi, 0x11
jne 0x48e8dc
mov eax, dword [ebp - 4]
mov byte [eax + 0x2db], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2dc], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2dd], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2de], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2df], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e0], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e1], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e2], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e3], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e4], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e5], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e6], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e7], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e8], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e9], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2ea], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2eb], 0xff
mov dword [ebp - 0x260], 0x40
jmp 0x48ee75
mov eax, dword [ebp - 4]
mov byte [eax + 0x2ac], 0x57
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e99]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ad], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9a]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ae], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9b]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2af], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9c]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b0], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b1], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9e]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b2], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4e9f]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b3], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ea0]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b4], al
xor eax, eax
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4ea5], 0
je 0x48ea95
or al, 1
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4ea6], 0
je 0x48eaa6
or al, 2
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4ea7], 0
je 0x48eab7
or al, 4
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4ea9], 0
je 0x48eac8
or al, 8
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eaa], 0
je 0x48ead9
or al, 0x10
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eab], 0
je 0x48eaea
or al, 0x20
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eae], 0
je 0x48eafb
or al, 0x40
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eaf], 0
je 0x48eb0c
or al, 0x80
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b5], al
xor eax, eax
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eb0], 0
je 0x48eb28
or al, 1
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eb2], 0
je 0x48eb39
or al, 2
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eb3], 0
je 0x48eb4a
or al, 4
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eb4], 0
je 0x48eb5b
or al, 8
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eb1], 0
je 0x48eb6c
or al, 0x10
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4ea8], 0
je 0x48eb7d
or al, 0x20
mov edx, dword [0x4a0718]
cmp byte [edx + 0x4eac], 0
je 0x48eb8e
or al, 0x40
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b6], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb5]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b7], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x2b8], 0
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb6]
or al, 0xe0
mov edx, dword [ebp - 4]
mov byte [edx + 0x2b9], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb7]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ba], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb8]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2bb], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eb9]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2bc], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4eba]
or al, 0xe0
mov edx, dword [ebp - 4]
mov byte [edx + 0x2bd], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ebb]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2be], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ebc]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2bf], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ebd]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c0], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c1], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c2], 0x4f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c3], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c4], 0x4f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c5], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c6], 0x4f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c7], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c8], 0x4f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c9], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2ca], 0
mov esi, 1
mov eax, dword [0x4a0718]
movzx eax, byte [eax + 0x4ec2]
cmp esi, eax
jg 0x48ecf4
mov eax, dword [0x4a0718]
mov dl, byte [eax + esi + 0x4ec2]
mov eax, dword [0x4a0718]
call fcn.00498a18
mov edx, dword [ebp - 4]
mov byte [edx + esi + 0x2ca], al
jmp 0x48ecff
mov eax, dword [ebp - 4]
mov byte [eax + esi + 0x2ca], 0xd
inc esi
cmp esi, 0x11
jne 0x48ecc2
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ea1]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2db], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ea2]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2dc], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ea3]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2dd], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ea4]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2de], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ebe]
or al, 0xe0
mov edx, dword [ebp - 4]
mov byte [edx + 0x2df], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ebf]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e0], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ec0]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e1], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x4ec1]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e2], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e3], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e4], 0x4f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e5], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e6], 0x4f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e7], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e8], 0x4f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e9], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2ea], 0x4f
mov eax, dword [ebp - 4]
mov byte [eax + 0x2eb], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2ec], 0x4f
mov esi, 1
mov eax, dword [ebp - 4]
mov byte [eax + esi + 0x2ec], 0
inc esi
cmp esi, 0xf
jne 0x48ee10
mov eax, dword [0x4a0718]
cmp byte [eax + 0x4e96], 3
jne 0x48ee39
mov eax, dword [ebp - 4]
mov byte [eax + 0x2ef], 0x4f
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x10633e]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2f9], al
mov eax, dword [0x4a0718]
mov al, byte [eax + 0x10633d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2fa], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x2fb], 0xff
mov dword [ebp - 0x260], 0x50
mov byte [0x4a070c], 0
mov eax, dword [0x49f468]
mov dword [0x4a0710], eax
push ebp
mov eax, dword [ebp - 4]
add eax, 0x2ac
mov edx, dword [ebp - 0x260]
call fcn.0048e028
pop ecx
mov eax, dword [0x4a0718]
cmp byte [eax + 0x10631c], 0
je 0x48f0a4
mov eax, dword [0x4a0710]
and eax, 0x8000001f
jns 0x48eebe
dec eax
or eax, 0xffffffe0
inc eax
test eax, eax
je 0x48eedc
mov eax, dword [0x4a0710]
add eax, 0x20
test eax, eax
jns 0x48eed1
add eax, 0x1f
sar eax, 5
shl eax, 5
mov dword [0x4a0710], eax
push ebp
call fcn.0048dee0
pop ecx
test al, al
je 0x48eef4
mov edx, 0x1b1
mov eax, dword [ebp - 4]
call fcn.0048d82c
lea eax, [ebp - 0x274]
mov edx, dword [0x4a0718]
add edx, 0x10631c
call fcn.004034f0
mov eax, dword [ebp - 0x274]
call fcn.00403544
test eax, eax
jle 0x48ef41
mov dword [ebp - 0x27c], eax
mov edi, 1
lea eax, [ebp - 0x254]
mov edx, dword [ebp - 0x274]
mov dl, byte [edx + edi - 1]
mov byte [eax], dl
inc edi
inc eax
dec dword [ebp - 0x27c]
jne 0x48ef2b
push ebp
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edx, eax
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [0x4a0710]
and eax, 0x8000001f
jns 0x48ef6c
dec eax
or eax, 0xffffffe0
inc eax
test eax, eax
je 0x48ef8a
mov eax, dword [0x4a0710]
add eax, 0x20
test eax, eax
jns 0x48ef7f
add eax, 0x1f
sar eax, 5
shl eax, 5
mov dword [0x4a0710], eax
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [0x4a0710]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0xffff
jle 0x48efb6
mov edx, 0x1b3
mov eax, dword [ebp - 4]
call fcn.0048d82c
xor ebx, ebx
mov eax, dword [0x4a0718]
cmp dword [eax + ebx*4 + 0x1062f4], 0
je 0x48f030
lea eax, [ebp - 0x274]
mov edx, dword [0x4a0718]
mov edx, dword [edx + ebx*4 + 0x1062f4]
call fcn.00403464
mov eax, ebx
add al, 0x30
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [ebp - 0x274]
call fcn.00403544
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [ebp - 0x274]
call fcn.00403544
test eax, eax
jle 0x48f030
mov dword [ebp - 0x27c], eax
mov edi, 1
push ebp
mov eax, dword [ebp - 0x274]
mov al, byte [eax + edi - 1]
call fcn.0048e414
pop ecx
inc edi
dec dword [ebp - 0x27c]
jne 0x48f016
inc ebx
cmp ebx, 0xa
jne 0x48efb8
push ebp
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48f058
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e9], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48f078
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ea], al
inc dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
cdq
idiv dword [ebp - 0x268]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x278]
call fcn.0044129c
mov eax, dword [0x4a0718]
cmp byte [eax + 0x1062d0], 0
je 0x48f24b
mov eax, dword [0x4a0710]
and eax, 0x8000001f
jns 0x48f0c7
dec eax
or eax, 0xffffffe0
inc eax
test eax, eax
je 0x48f0e5
mov eax, dword [0x4a0710]
add eax, 0x20
test eax, eax
jns 0x48f0da
add eax, 0x1f
sar eax, 5
shl eax, 5
mov dword [0x4a0710], eax
push ebp
call fcn.0048dee0
pop ecx
test al, al
je 0x48f0fd
mov edx, 0x1b1
mov eax, dword [ebp - 4]
call fcn.0048d82c
lea eax, [ebp - 0x274]
mov edx, dword [0x4a0718]
add edx, 0x1062d0
call fcn.004034f0
mov eax, dword [ebp - 0x274]
call fcn.00403544
test eax, eax
jle 0x48f14a
mov dword [ebp - 0x27c], eax
mov ebx, 1
lea eax, [ebp - 0x254]
mov edx, dword [ebp - 0x274]
mov dl, byte [edx + ebx - 1]
mov byte [eax], dl
inc ebx
inc eax
dec dword [ebp - 0x27c]
jne 0x48f134
push ebp
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edx, eax
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [0x4a0710]
and eax, 0x8000001f
jns 0x48f175
dec eax
or eax, 0xffffffe0
inc eax
test eax, eax
je 0x48f193
mov eax, dword [0x4a0710]
add eax, 0x20
test eax, eax
jns 0x48f188
add eax, 0x1f
sar eax, 5
shl eax, 5
mov dword [0x4a0710], eax
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [0x4a0710]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0xffff
jle 0x48f1bf
mov edx, 0x1b3
mov eax, dword [ebp - 4]
call fcn.0048d82c
xor ebx, ebx
push ebp
mov eax, dword [0x4a0718]
mov al, byte [eax + ebx + 0x106250]
call fcn.0048e414
pop ecx
inc ebx
cmp ebx, 0x80
jne 0x48f1c1
push ebp
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48f1ff
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c9], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48f21f
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ca], al
inc dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
cdq
idiv dword [ebp - 0x268]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x278]
call fcn.0044129c
mov eax, dword [0x4a0718]
cmp byte [eax + 0x105fd3], 0xff
jne 0x48f26b
mov eax, dword [0x4a0718]
cmp byte [eax + 0x106033], 0xff
je 0x48f4b6
push ebp
mov eax, 0x49007c
call fcn.0048e220
pop ecx
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [0x4a0710]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0xffff
jle 0x48f2a3
mov edx, 0x1b3
mov eax, dword [ebp - 4]
call fcn.0048d82c
mov eax, dword [0x4a0718]
cmp byte [eax + 0x105fd3], 0xff
je 0x48f37f
xor ebx, ebx
lea esi, [ebx + ebx*2]
mov eax, dword [0x4a0718]
mov al, byte [eax + esi + 0x105fd3]
cmp al, 0xff
je 0x48f308
push ebp
lea edx, [ebx + ebx*2]
mov ecx, dword [0x4a0718]
add al, 0xe0
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [0x4a0718]
mov al, byte [eax + esi + 0x105fd4]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [0x4a0718]
mov al, byte [eax + esi + 0x105fd5]
call fcn.0048e414
pop ecx
inc ebx
cmp ebx, 0x10
jne 0x48f2b7
push ebp
mov al, 0xff
call fcn.0048e414
pop ecx
push ebp
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48f333
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e5], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48f353
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e6], al
inc dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
cdq
idiv dword [ebp - 0x268]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x278]
call fcn.0044129c
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [0x4a0710]
and eax, 0x8000001f
jns 0x48f398
dec eax
or eax, 0xffffffe0
inc eax
test eax, eax
je 0x48f3b6
mov eax, dword [0x4a0710]
add eax, 0x20
test eax, eax
jns 0x48f3ab
add eax, 0x1f
sar eax, 5
shl eax, 5
mov dword [0x4a0710], eax
mov eax, dword [0x4a0710]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0xffff
jle 0x48f3da
mov edx, 0x1b3
mov eax, dword [ebp - 4]
call fcn.0048d82c
mov eax, dword [0x4a0718]
cmp byte [eax + 0x106033], 0xff
je 0x48f4b6
xor ebx, ebx
lea esi, [ebx + ebx*2]
mov eax, dword [0x4a0718]
mov al, byte [eax + esi + 0x106033]
cmp al, 0xff
je 0x48f43f
push ebp
lea edx, [ebx + ebx*2]
mov ecx, dword [0x4a0718]
add al, 0xe0
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [0x4a0718]
mov al, byte [eax + esi + 0x106034]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [0x4a0718]
mov al, byte [eax + esi + 0x106035]
call fcn.0048e414
pop ecx
inc ebx
cmp ebx, 0x10
jne 0x48f3ee
push ebp
mov al, 0xff
call fcn.0048e414
pop ecx
push ebp
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48f46a
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e7], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48f48a
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e8], al
inc dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
cdq
idiv dword [ebp - 0x268]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x278]
call fcn.0044129c
push ebp
mov eax, 0x490088
call fcn.0048e220
pop ecx
mov eax, dword [0x4a0710]
mov dword [ebp - 0x270], eax
cmp byte [0x4a070c], 0
jbe 0x48f4e3
mov edx, 0x1b3
mov eax, dword [ebp - 4]
call fcn.0048d82c
xor eax, eax
mov dword [ebp - 0x25c], eax
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [0x4a0718]
cmp byte [eax + 0x4e96], 1
jne 0x48f612
mov ebx, 0x20
xor esi, esi
imul edi, esi, 0x2020
mov eax, dword [0x4a0718]
lea eax, [eax + edi*8]
mov edx, ebx
shl edx, 8
add edx, ebx
mov al, byte [eax + edx + 0x4ed3]
test al, al
je 0x48f5f6
imul edx, esi, 0x2020
mov ecx, dword [0x4a0718]
lea edx, [ecx + edx*8]
push edx
mov edx, ebx
shl edx, 8
add edx, ebx
pop ecx
and eax, 0xff
add dword [ebp - 0x25c], eax
mov eax, ebx
push ebp
call fcn.0048e414
pop ecx
mov eax, esi
or al, 0xe0
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [0x4a0718]
lea eax, [eax + edi*8]
mov edx, ebx
shl edx, 8
add edx, ebx
mov al, byte [eax + edx + 0x4ed3]
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [0x4a0718]
lea eax, [eax + edi*8]
mov edx, ebx
shl edx, 8
add edx, ebx
mov al, byte [eax + edx + 0x4ed4]
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [0x4a0718]
lea eax, [eax + edi*8]
mov edx, ebx
shl edx, 8
add edx, ebx
movzx eax, byte [eax + edx + 0x4ed3]
test eax, eax
jle 0x48f5f6
mov dword [ebp - 0x27c], eax
mov edi, 1
imul eax, esi, 0x2020
mov edx, dword [0x4a0718]
lea eax, [edx + eax*8]
mov edx, ebx
shl edx, 8
add edx, ebx
add eax, edx
mov al, byte [eax + edi + 0x4ed4]
push ebp
call fcn.0048e414
pop ecx
inc edi
dec dword [ebp - 0x27c]
jne 0x48f5c7
inc esi
cmp esi, 0x10
jne 0x48f50c
inc ebx
cmp ebx, 0xff
jne 0x48f50a
jmp 0x48f7dc
xor esi, esi
xor edi, edi
mov ebx, 0x20
imul eax, esi, 0x2020
mov edx, dword [0x4a0718]
lea eax, [edx + eax*8]
mov edx, ebx
shl edx, 8
add edx, ebx
mov al, byte [eax + edx + 0x4ed3]
test al, al
je 0x48f660
imul edx, esi, 0x2020
mov ecx, dword [0x4a0718]
lea edx, [ecx + edx*8]
push edx
mov edx, ebx
shl edx, 8
add edx, ebx
pop ecx
and eax, 0xff
add di, ax
add di, 3
inc ebx
cmp ebx, 0x100
jne 0x48f61b
test di, di
je 0x48f7d2
add di, 2
movzx ebx, di
add dword [ebp - 0x25c], ebx
mov eax, esi
or al, 0xe0
push ebp
call fcn.0048e414
pop ecx
mov eax, ebx
test eax, eax
jns 0x48f695
add eax, 0xff
sar eax, 8
push ebp
call fcn.0048e414
pop ecx
mov eax, ebx
and eax, 0x800000ff
jns 0x48f6af
dec eax
or eax, 0xffffff00
inc eax
push ebp
call fcn.0048e414
pop ecx
mov byte [ebp - 0x255], 0
mov ebx, 0x20
imul edi, esi, 0x2020
mov eax, dword [0x4a0718]
lea eax, [eax + edi*8]
mov edx, ebx
shl edx, 8
add edx, ebx
cmp byte [eax + edx + 0x4ed3], 0
je 0x48f787
mov byte [ebp - 0x255], bl
push ebp
mov al, byte [ebp - 0x255]
call fcn.0048e414
pop ecx
mov eax, dword [0x4a0718]
lea eax, [eax + edi*8]
mov edx, ebx
shl edx, 8
add edx, ebx
mov al, byte [eax + edx + 0x4ed3]
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [0x4a0718]
lea eax, [eax + edi*8]
mov edx, ebx
shl edx, 8
add edx, ebx
mov al, byte [eax + edx + 0x4ed4]
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [0x4a0718]
lea eax, [eax + edi*8]
mov edx, ebx
shl edx, 8
add edx, ebx
movzx eax, byte [eax + edx + 0x4ed3]
test eax, eax
jle 0x48f787
mov dword [ebp - 0x27c], eax
mov edi, 1
imul eax, esi, 0x2020
mov edx, dword [0x4a0718]
lea eax, [edx + eax*8]
mov edx, ebx
shl edx, 8
add edx, ebx
add eax, edx
mov al, byte [eax + edi + 0x4ed4]
push ebp
call fcn.0048e414
pop ecx
inc edi
dec dword [ebp - 0x27c]
jne 0x48f758
inc ebx
cmp ebx, 0x100
jne 0x48f6c2
cmp byte [ebp - 0x255], 0xff
je 0x48f7af
mov al, 0xff
push ebp
call fcn.0048e414
pop ecx
xor eax, eax
push ebp
call fcn.0048e414
pop ecx
inc dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
cdq
idiv dword [ebp - 0x268]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x278]
call fcn.0044129c
inc esi
cmp esi, 0x10
jne 0x48f614
mov al, 0xff
cmp dword [ebp - 0x25c], 0
je 0x48f842
push ebp
call fcn.0048e414
pop ecx
xor eax, eax
push ebp
call fcn.0048e414
pop ecx
mov ebx, 0x21
push ebp
mov eax, dword [0x4a0718]
mov al, byte [eax + ebx + 0x105ed3]
call fcn.0048e414
pop ecx
inc ebx
cmp ebx, 0xb0
jne 0x48f7fc
mov ebx, 0xf0
push ebp
mov eax, dword [0x4a0718]
mov al, byte [eax + ebx + 0x105ed3]
call fcn.0048e414
pop ecx
inc ebx
cmp ebx, 0x100
jne 0x48f81d
push ebp
mov al, 0xff
call fcn.0048e414
pop ecx
push ebp
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [0x4a0710]
cmp eax, dword [ebp - 0x270]
je 0x48f89c
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48f871
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c1], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48f891
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c2], al
jmp 0x48f8a9
mov edx, 0x1b4
mov eax, dword [ebp - 4]
call fcn.0048d82c
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1b4]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
test eax, eax
je 0x48fa8b
push ebp
mov eax, 0x490094
call fcn.0048e220
pop ecx
mov eax, dword [0x4a0710]
mov dword [ebp - 0x270], eax
cmp byte [0x4a070c], 0
jbe 0x48f8f4
mov edx, 0x1b3
mov eax, dword [ebp - 4]
call fcn.0048d82c
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1b4]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x48fa37
inc eax
mov dword [ebp - 0x27c], eax
xor ebx, ebx
lea ecx, [ebp - 0x274]
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1b4]
mov eax, dword [eax + 0xfc]
mov edx, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x278]
mov edx, dword [ebp - 0x274]
call fcn.00403464
lea eax, [ebp - 0x274]
mov ecx, 6
mov edx, 1
call fcn.00403788
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edi, eax
test di, di
jbe 0x48fa07
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 1]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 2]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 3]
call fcn.0048e414
pop ecx
movzx eax, di
and eax, 0x800000ff
jns 0x48f9bf
dec eax
or eax, 0xffffff00
inc eax
push ebp
call fcn.0048e414
pop ecx
movzx eax, di
test eax, eax
jns 0x48f9d2
add eax, 0xff
sar eax, 8
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edi, eax
test edi, edi
jle 0x48fa07
mov esi, 1
push ebp
mov eax, dword [ebp - 0x274]
mov al, byte [eax + esi - 1]
call fcn.0048e414
pop ecx
inc esi
dec edi
jne 0x48f9f2
inc dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
cdq
idiv dword [ebp - 0x268]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x278]
call fcn.0044129c
inc ebx
dec dword [ebp - 0x27c]
jne 0x48f924
push ebp
mov al, 0xff
call fcn.0048e414
pop ecx
push ebp
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48fa62
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c3], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48fa82
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c4], al
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1b8]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
test eax, eax
je 0x48fd0f
push ebp
mov eax, 0x4900a0
call fcn.0048e220
pop ecx
mov eax, dword [0x4a0710]
mov dword [ebp - 0x270], eax
cmp byte [0x4a070c], 0
jbe 0x48fad6
mov edx, 0x1b3
mov eax, dword [ebp - 4]
call fcn.0048d82c
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1b8]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x48fc75
inc eax
mov dword [ebp - 0x27c], eax
xor ebx, ebx
lea ecx, [ebp - 0x274]
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1b8]
mov eax, dword [eax + 0xfc]
mov edx, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x278]
mov edx, dword [ebp - 0x274]
call fcn.00403464
lea eax, [ebp - 0x274]
mov ecx, 6
mov edx, 1
call fcn.00403788
mov eax, dword [reloc.winspool.drv_ClosePrinter]
mov eax, dword [eax + 0x234]
cmp byte [eax + 0x37], 0
je 0x48fb89
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edx, dword [ebp - 0x274]
cmp byte [edx + eax - 1], 0xd
je 0x48fb89
lea ecx, [ebp - 0x280]
lea edx, [ebp - 0x274]
mov eax, dword [reloc.winspool.drv_ClosePrinter]
call fcn.004574a0
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edi, eax
test di, di
jbe 0x48fc45
mov eax, dword [0x4a0718]
cmp byte [eax + 0x4ea8], 0
je 0x48fbbc
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 1]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 2]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 3]
call fcn.0048e414
pop ecx
movzx eax, di
and eax, 0x800000ff
jns 0x48fbfd
dec eax
or eax, 0xffffff00
inc eax
push ebp
call fcn.0048e414
pop ecx
movzx eax, di
test eax, eax
jns 0x48fc10
add eax, 0xff
sar eax, 8
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edi, eax
test edi, edi
jle 0x48fc45
mov esi, 1
push ebp
mov eax, dword [ebp - 0x274]
mov al, byte [eax + esi - 1]
call fcn.0048e414
pop ecx
inc esi
dec edi
jne 0x48fc30
inc dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
cdq
idiv dword [ebp - 0x268]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x278]
call fcn.0044129c
inc ebx
dec dword [ebp - 0x27c]
jne 0x48fb06
push ebp
mov al, 0xff
call fcn.0048e414
pop ecx
push ebp
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48fca0
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c5], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48fcc0
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2c6], al
mov eax, dword [0x4a0718]
cmp byte [eax + 0x4ea8], 0
je 0x48fd0f
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48fce6
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2eb], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48fd06
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ec], al
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1bc]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
test eax, eax
je 0x48ff70
push ebp
mov eax, 0x4900ac
call fcn.0048e220
pop ecx
mov eax, dword [0x4a0710]
mov dword [ebp - 0x270], eax
xor eax, eax
mov al, byte [0x4a070c]
mov dword [ebp - 0x264], eax
mov eax, dword [0x4a0718]
cmp byte [eax + 0x4e96], 3
jae 0x48fd75
cmp byte [0x4a070c], 0
jbe 0x48fd75
mov edx, 0x1b3
mov eax, dword [ebp - 4]
call fcn.0048d82c
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1bc]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x48fec7
inc eax
mov dword [ebp - 0x27c], eax
xor ebx, ebx
lea ecx, [ebp - 0x274]
mov eax, dword [0x4a0718]
mov eax, dword [eax + 0x1bc]
mov eax, dword [eax + 0xfc]
mov edx, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x278]
mov edx, dword [ebp - 0x274]
call fcn.00403464
lea eax, [ebp - 0x274]
mov ecx, 6
mov edx, 1
call fcn.00403788
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edi, eax
test di, di
jbe 0x48fe97
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 1]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 2]
call fcn.0048e414
pop ecx
push ebp
mov eax, dword [ebp - 0x278]
mov al, byte [eax + 3]
call fcn.0048e414
pop ecx
movzx eax, di
and eax, 0x800000ff
jns 0x48fe4f
dec eax
or eax, 0xffffff00
inc eax
push ebp
call fcn.0048e414
pop ecx
movzx eax, di
test eax, eax
jns 0x48fe62
add eax, 0xff
sar eax, 8
push ebp
call fcn.0048e414
pop ecx
mov eax, dword [ebp - 0x274]
call fcn.00403544
mov edi, eax
test edi, edi
jle 0x48fe97
mov esi, 1
push ebp
mov eax, dword [ebp - 0x274]
mov al, byte [eax + esi - 1]
call fcn.0048e414
pop ecx
inc esi
dec edi
jne 0x48fe82
inc dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
cdq
idiv dword [ebp - 0x268]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x278]
call fcn.0044129c
inc ebx
dec dword [ebp - 0x27c]
jne 0x48fda5
push ebp
mov al, 0xff
call fcn.0048e414
pop ecx
push ebp
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x254]
call fcn.0048e028
pop ecx
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48fef2
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e3], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48ff12
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e4], al
mov eax, dword [0x4a0718]
cmp byte [eax + 0x4e96], 3
jne 0x48ff70
mov eax, dword [ebp - 0x270]
test eax, eax
jns 0x48ff38
add eax, 0xff
sar eax, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ee], al
mov eax, dword [ebp - 0x270]
and eax, 0x800000ff
jns 0x48ff58
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x2ef], al
mov al, byte [ebp - 0x264]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2f0], al
lea eax, [ebp - 0x274]
mov edx, 0x4900b8
call fcn.00403464
push 0
mov eax, dword [ebp - 0x274]
call fcn.00403544
push eax
lea eax, [ebp - 0x274]
call fcn.00403714
mov edx, eax
lea eax, [ebp - 0x150]
pop ecx
call fcn.0040428c
call fcn.004026e8
lea eax, [ebp - 0x150]
call fcn.0040488c
call fcn.004026e8
xor edx, edx
lea eax, [ebp - 0x150]
call fcn.00404858
call fcn.004026e8
mov byte [0x4a070c], 0
mov eax, dword [0x49f468]
mov dword [0x4a0710], eax
push ebp
mov eax, dword [ebp - 4]
add eax, 0x2ac
mov edx, dword [ebp - 0x260]
call fcn.0048e028
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x490021
lea eax, [ebp - 0x150]
call fcn.004042f0
call fcn.004026e8
mov eax, dword [ebp - 4]
call fcn.0048db98
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x490056
lea eax, [ebp - 0x284]
mov edx, 2
call fcn.004033f0
lea eax, [ebp - 0x278]
mov edx, 2
call fcn.004033f0
ret