Function at 0x4b80f0
Capabilities:
Encrypt data using camellia

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov eax, dword [0x599850]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x44]
push 0x40
push 0
push eax
lea esi, [edi + 4]
call fcn.00504e30
push 0x110
push 0
push esi
call fcn.00504e30
mov ebx, dword [ebp + 0x10]
add esp, 0x18
mov eax, ebx
sub eax, 0x80
je 0x4b8233
sub eax, 0x40
je 0x4b8159
sub eax, 0x40
je 0x4b8159
pop edi
pop esi
mov eax, 0xffffffdc
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff754
mov esp, ebp
pop ebp
ret
mov eax, 0x54d575
mov dword [ebp - 0x100], 0x54d4e5
mov dword [ebp - 0x10c], eax
mov ecx, 4
mov eax, 0x54d561
mov dword [ebp - 0xfc], 0x54d4e4
mov dword [ebp - 0xf8], eax
mov eax, 0x54d54d
mov dword [ebp - 0x11c], eax
mov eax, 0x54d539
mov dword [ebp - 0x120], 0x54d4e1
mov dword [ebp - 0x118], 0x54d4e0
mov dword [ebp - 0xe4], 0x54d4dd
mov dword [ebp - 0xe0], 0x54d4dc
mov dword [ebp - 0xd0], 0x54d4d9
mov dword [ebp - 0xd4], 0x54d4da
mov dword [ebp - 0xd8], 0x54d4db
mov dword [ebp - 0xe8], 0x54d4de
mov dword [ebp - 0xec], 0x54d4df
mov dword [ebp - 0xf0], 0x54d4e2
mov dword [ebp - 0xf4], 0x54d4e3
mov dword [ebp - 0x104], 0x54d4e6
mov dword [ebp - 0x108], 0x54d4e7
mov dword [ebp - 0x110], 0x54d59c
mov dword [ebp - 0x114], 0x2c
jmp 0x4b8308
mov eax, 0x54d525
mov dword [ebp - 0x100], 0x54d4d5
mov dword [ebp - 0x10c], eax
mov ecx, 3
mov eax, 0x54d511
mov dword [ebp - 0xfc], 0x54d4d4
mov dword [ebp - 0xf8], eax
mov eax, 0x54d4fd
mov dword [ebp - 0x11c], eax
mov eax, 0x54d4e9
mov dword [ebp - 0x120], 0x54d4d1
mov dword [ebp - 0x118], 0x54d4d0
mov dword [ebp - 0xe4], 0x54d4cd
mov dword [ebp - 0xe0], 0x54d4cc
mov dword [ebp - 0xd0], 0x54d4c9
mov dword [ebp - 0xd4], 0x54d4ca
mov dword [ebp - 0xd8], 0x54d4cb
mov dword [ebp - 0xe8], 0x54d4ce
mov dword [ebp - 0xec], 0x54d4cf
mov dword [ebp - 0xf0], 0x54d4d2
mov dword [ebp - 0xf4], 0x54d4d3
mov dword [ebp - 0x104], 0x54d4d6
mov dword [ebp - 0x108], 0x54d4d7
mov dword [ebp - 0x110], 0x54d588
mov dword [ebp - 0x114], 0x20
mov dword [ebp - 0xdc], eax
mov eax, ebx
shr eax, 3
mov dword [edi], ecx
test eax, eax
je 0x4b8329
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x44]
push eax
call fcn.00504640
add esp, 0xc
mov dh, byte [ebp - 0x2d]
cmp ebx, 0xc0
mov bl, byte [ebp - 0x34]
jne 0x4b8389
mov al, byte [ebp - 0x33]
mov dl, bl
not al
not dl
mov byte [ebp - 0xcb], al
mov al, byte [ebp - 0x32]
not al
mov byte [ebp - 0xc5], al
mov al, byte [ebp - 0x31]
not al
mov byte [ebp - 0xc6], al
mov al, byte [ebp - 0x30]
not al
mov byte [ebp - 0xc7], al
mov al, byte [ebp - 0x2f]
not al
mov byte [ebp - 0xc8], al
mov al, byte [ebp - 0x2e]
not al
mov byte [ebp - 0xc9], al
mov al, dh
not al
mov byte [ebp - 0xca], al
jmp 0x4b83cb
mov al, byte [ebp - 0x25]
mov dl, byte [ebp - 0x2c]
mov byte [ebp - 0xca], al
mov al, byte [ebp - 0x26]
mov byte [ebp - 0xc9], al
mov al, byte [ebp - 0x27]
mov byte [ebp - 0xc8], al
mov al, byte [ebp - 0x28]
mov byte [ebp - 0xc7], al
mov al, byte [ebp - 0x29]
mov byte [ebp - 0xc6], al
mov al, byte [ebp - 0x2a]
mov byte [ebp - 0xc5], al
mov al, byte [ebp - 0x2b]
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0x44]
xorps xmm0, xmm0
movzx eax, byte [ebp - 0x43]
shl ecx, 8
or ecx, eax
movlpd qword [ebp - 0x94], xmm0
movzx eax, byte [ebp - 0x42]
shl ecx, 8
or ecx, eax
movzx edi, byte [ebp - 0x30]
movzx eax, byte [ebp - 0x41]
shl ecx, 8
or ecx, eax
movlpd qword [ebp - 0x8c], xmm0
movzx eax, byte [ebp - 0x3f]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x94], ecx
movzx ecx, byte [ebp - 0x40]
shl ecx, 8
or ecx, eax
movzx ebx, bl
movzx eax, byte [ebp - 0x3e]
shl ecx, 8
or ecx, eax
shl ebx, 8
movzx eax, byte [ebp - 0x3d]
shl ecx, 8
or ecx, eax
movlpd qword [ebp - 0x84], xmm0
movzx eax, byte [ebp - 0x3b]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x90], ecx
movzx ecx, byte [ebp - 0x3c]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xc4], 0xa09e667f
movzx eax, byte [ebp - 0x3a]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xc0], 0x3bcc908b
movzx eax, byte [ebp - 0x39]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xbc], 0xb67ae858
movzx eax, byte [ebp - 0x37]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x8c], ecx
movzx ecx, byte [ebp - 0x38]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xb8], 0x4caa73b2
movzx eax, byte [ebp - 0x36]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xb4], 0xc6ef372f
movzx eax, byte [ebp - 0x35]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xb0], 0xe94f82be
movzx eax, byte [ebp - 0x33]
or ebx, eax
mov dword [ebp - 0xac], 0x54ff53a5
movzx eax, byte [ebp - 0x32]
shl ebx, 8
or ebx, eax
mov dword [ebp - 0xa8], 0xf1d36f1c
movzx eax, byte [ebp - 0x31]
shl ebx, 8
or ebx, eax
mov dword [ebp - 0xa4], 0x10e527fa
movzx eax, byte [ebp - 0x2f]
mov dword [ebp - 0xa0], 0xde682d1d
mov dword [ebp - 0x9c], 0xb05688c2
mov dword [ebp - 0x98], 0xb3e6c1fd
movlpd qword [ebp - 0x7c], xmm0
movlpd qword [ebp - 0x64], xmm0
movlpd qword [ebp - 0x5c], xmm0
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ebx
shl edi, 8
or edi, eax
movzx ecx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0x2e]
shl edi, 8
or edi, eax
xor ebx, dword [ebp - 0x124]
movzx eax, dh
movzx edx, dl
shl edx, 8
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebp - 0xcb]
or edx, eax
mov dword [ebp - 0x80], edi
movzx eax, byte [ebp - 0xc5]
xor edi, dword [ebp - 0x128]
shl edx, 8
or edx, eax
mov dword [ebp - 0x74], ebx
movzx eax, byte [ebp - 0xc6]
shl edx, 8
or edx, eax
mov dword [ebp - 0x70], edi
movzx eax, byte [ebp - 0xc8]
or ecx, eax
mov dword [ebp - 0x7c], edx
movzx eax, byte [ebp - 0xc9]
xor edx, dword [ebp - 0x12c]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x6c], edx
movzx eax, byte [ebp - 0xca]
shl ecx, 8
or ecx, eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x78], ecx
xor ecx, dword [ebp - 0x130]
push eax
lea eax, [ebp - 0x74]
mov dword [ebp - 0x68], ecx
push eax
call fcn.004b73f0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.004b73f0
movups xmm0, xmmword [ebp - 0x74]
lea eax, [ebp - 0x6c]
movups xmm1, xmmword [ebp - 0x94]
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
pxor xmm1, xmm0
push eax
movups xmmword [ebp - 0x74], xmm1
call fcn.004b73f0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.004b73f0
add esp, 0x30
cmp dword [ebp + 0x10], 0x80
jbe 0x4b869b
mov eax, dword [ebp - 0x74]
xor eax, dword [ebp - 0x84]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x70]
xor eax, dword [ebp - 0x80]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x6c]
xor eax, dword [ebp - 0x7c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x68]
xor eax, dword [ebp - 0x78]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004b73f0
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004b73f0
add esp, 0x18
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x94]
mov edi, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x8c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], ebx
cmp byte [eax - 1], 0
je 0x4b8715
mov ecx, edi
mov eax, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x44], ecx
mov ecx, ebx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x88]
shl eax, 0xf
shr ecx, 0x11
xor ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x3c], ecx
mov ecx, edx
shl eax, 0xf
shr ecx, 0x11
xor ecx, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x38], ecx
cmp byte [eax], 0
je 0x4b875e
mov ecx, edi
mov eax, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x34], ecx
mov ecx, ebx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x88]
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x2c], ecx
mov ecx, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0xd4]
cmp byte [eax], 0
je 0x4b87ad
mov ecx, edi
mov eax, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x24], ecx
mov ecx, ebx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x88]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x1c], ecx
mov ecx, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0xd8]
cmp byte [eax], 0
je 0x4b87f2
mov eax, edx
mov ecx, edi
shl eax, 0x1c
shr ecx, 4
xor ecx, eax
shl edi, 0x1c
mov eax, ebx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x88]
shr eax, 4
xor eax, edi
shl ebx, 0x1c
mov dword [ebp - 0x10], eax
mov eax, ecx
shr eax, 4
xor eax, ebx
shr edx, 4
shl ecx, 0x1c
xor edx, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ebx, dword [ebp - 0xdc]
xor edx, edx
nop word [eax + eax]
mov al, byte [ebx + edx - 1]
cmp al, 0xff
je 0x4b8812
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x54]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx]
cmp al, 0xff
je 0x4b8823
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x50]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 1]
cmp al, 0xff
je 0x4b8835
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x4c]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 2]
cmp al, 0xff
je 0x4b8847
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x48]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 3]
cmp al, 0xff
je 0x4b8859
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [esi + ecx*4], eax
add edx, 5
cmp edx, 0x14
jb 0x4b8800
cmp dword [ebp + 0x10], 0x80
jbe 0x4b8a11
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x7c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], ebx
cmp byte [eax], 0
je 0x4b88d2
mov ecx, edi
mov eax, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x44], ecx
mov ecx, ebx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x78]
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x3c], ecx
mov ecx, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0xe4]
cmp byte [eax], 0
je 0x4b891b
mov ecx, edi
mov eax, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x34], ecx
mov ecx, ebx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x78]
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov ecx, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0xe8]
cmp byte [eax], 0
je 0x4b8964
mov ecx, edi
mov eax, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x24], ecx
mov ecx, ebx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x78]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c], ecx
mov ecx, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0xec]
cmp byte [eax], 0
je 0x4b89a6
mov eax, edx
mov ecx, edi
shl eax, 0x1c
shr ecx, 4
xor ecx, eax
shl edi, 0x1c
mov eax, ebx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x78]
shr eax, 4
xor eax, edi
shl ebx, 0x1c
mov dword [ebp - 0x10], eax
mov eax, ecx
shr eax, 4
xor eax, ebx
shr edx, 4
shl ecx, 0x1c
xor edx, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ebx, dword [ebp - 0x11c]
xor edx, edx
nop
mov al, byte [ebx + edx - 1]
cmp al, 0xff
je 0x4b89c2
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x54]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx]
cmp al, 0xff
je 0x4b89d3
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x50]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 1]
cmp al, 0xff
je 0x4b89e5
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x4c]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 2]
cmp al, 0xff
je 0x4b89f7
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x48]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 3]
cmp al, 0xff
je 0x4b8a09
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [esi + ecx*4], eax
add edx, 5
cmp edx, 0x14
jb 0x4b89b0
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x6c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], ebx
cmp byte [eax], 0
je 0x4b8a72
mov ecx, edi
mov eax, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x44], ecx
mov ecx, ebx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x68]
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x3c], ecx
mov ecx, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x120]
cmp byte [eax], 0
je 0x4b8abb
mov ecx, edi
mov eax, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x34], ecx
mov ecx, ebx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x68]
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x2c], ecx
mov ecx, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0xf0]
cmp byte [eax], 0
je 0x4b8b04
mov ecx, edi
mov eax, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x24], ecx
mov ecx, ebx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x68]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], ecx
mov ecx, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0xf4]
cmp byte [eax], 0
je 0x4b8b46
mov eax, edx
mov ecx, edi
shl eax, 0x1c
shr ecx, 4
xor ecx, eax
shl edi, 0x1c
mov eax, ebx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x68]
shr eax, 4
xor eax, edi
shl ebx, 0x1c
mov dword [ebp - 0x10], eax
mov eax, ecx
shr eax, 4
xor eax, ebx
shr edx, 4
shl ecx, 0x1c
xor edx, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ebx, dword [ebp - 0xf8]
xor edx, edx
nop
mov al, byte [ebx + edx - 1]
cmp al, 0xff
je 0x4b8b62
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x54]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx]
cmp al, 0xff
je 0x4b8b73
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x50]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 1]
cmp al, 0xff
je 0x4b8b85
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x4c]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 2]
cmp al, 0xff
je 0x4b8b97
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x48]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 3]
cmp al, 0xff
je 0x4b8ba9
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [esi + ecx*4], eax
add edx, 5
cmp edx, 0x14
jb 0x4b8b50
cmp dword [ebp + 0x10], 0x80
jbe 0x4b8d61
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], ebx
cmp byte [eax], 0
je 0x4b8c1f
mov ecx, edi
mov eax, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x44], ecx
mov ecx, ebx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x58]
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x3c], ecx
mov ecx, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x100]
cmp byte [eax], 0
je 0x4b8c68
mov ecx, edi
mov eax, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x34], ecx
mov ecx, ebx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x58]
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x2c], ecx
mov ecx, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x104]
cmp byte [eax], 0
je 0x4b8cb1
mov ecx, edi
mov eax, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, edi
mov dword [ebp - 0x24], ecx
mov ecx, ebx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x58]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1c], ecx
mov ecx, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x108]
cmp byte [eax], 0
je 0x4b8cf3
mov eax, edx
mov ecx, edi
shl eax, 0x1c
shr ecx, 4
xor ecx, eax
shl edi, 0x1c
mov eax, ebx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x58]
shr eax, 4
xor eax, edi
shl ebx, 0x1c
mov dword [ebp - 0x10], eax
mov eax, ecx
shr eax, 4
xor eax, ebx
shr edx, 4
shl ecx, 0x1c
xor edx, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ebx, dword [ebp - 0x10c]
xor edx, edx
nop dword [eax + eax]
mov al, byte [ebx + edx - 1]
cmp al, 0xff
je 0x4b8d12
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x54]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx]
cmp al, 0xff
je 0x4b8d23
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x50]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 1]
cmp al, 0xff
je 0x4b8d35
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x4c]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 2]
cmp al, 0xff
je 0x4b8d47
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x48]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 3]
cmp al, 0xff
je 0x4b8d59
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [esi + ecx*4], eax
add edx, 5
cmp edx, 0x14
jb 0x4b8d00
mov edi, dword [ebp - 0x110]
xor edx, edx
mov ebx, dword [ebp - 0x114]
nop
mov al, byte [edi + edx]
cmp al, 0xff
je 0x4b8d83
movsx eax, al
lea ecx, [ebx + edx]
mov eax, dword [esi + eax*4]
mov dword [esi + ecx*4], eax
inc edx
cmp edx, 0x14
jb 0x4b8d70
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004ff754
mov esp, ebp
pop ebp
ret