Function at 0x41ea60
Capabilities:
Encrypt data using camellia

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
mov eax, dword [0x7c6ee4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xd0], edx
push 0x40
lea eax, [ebp - 0x84]
push 0
push eax
lea esi, [edi + 4]
call fcn.0050c5b0
push 0x110
push 0
push esi
call fcn.0050c5b0
mov ebx, dword [ebp + 8]
add esp, 0x18
mov eax, ebx
sub eax, 0x80
je 0x41eadf
sub eax, 0x40
je 0x41eacd
sub eax, 0x40
je 0x41eacd
pop edi
pop esi
mov eax, 0xffffffdc
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050b38b
mov esp, ebp
pop ebp
ret
mov dword [edi], 4
mov dword [ebp - 0xd4], 1
jmp 0x41eaef
mov dword [edi], 3
mov dword [ebp - 0xd4], 0
mov eax, ebx
shr eax, 3
test eax, eax
je 0x41eb0e
push eax
push dword [ebp - 0xd0]
lea eax, [ebp - 0x84]
push eax
call fcn.0050c59e
add esp, 0xc
cmp ebx, 0xc0
mov bl, byte [ebp - 0x74]
jne 0x41eb72
mov al, bl
not al
mov byte [ebp - 0xc5], al
mov al, byte [ebp - 0x73]
not al
mov byte [ebp - 0xc6], al
mov al, byte [ebp - 0x72]
not al
mov byte [ebp - 0xc7], al
mov al, byte [ebp - 0x71]
not al
mov byte [ebp - 0xc8], al
mov al, byte [ebp - 0x70]
not al
mov byte [ebp - 0xc9], al
mov al, byte [ebp - 0x6f]
not al
mov byte [ebp - 0xca], al
mov al, byte [ebp - 0x6e]
not al
mov byte [ebp - 0xcb], al
mov al, byte [ebp - 0x6d]
not al
mov byte [ebp - 0xcc], al
jmp 0x41ebba
mov al, byte [ebp - 0x65]
mov byte [ebp - 0xcc], al
mov al, byte [ebp - 0x66]
mov byte [ebp - 0xcb], al
mov al, byte [ebp - 0x67]
mov byte [ebp - 0xca], al
mov al, byte [ebp - 0x68]
mov byte [ebp - 0xc9], al
mov al, byte [ebp - 0x69]
mov byte [ebp - 0xc8], al
mov al, byte [ebp - 0x6a]
mov byte [ebp - 0xc7], al
mov al, byte [ebp - 0x6b]
mov byte [ebp - 0xc6], al
mov al, byte [ebp - 0x6c]
mov byte [ebp - 0xc5], al
push 0x40
lea eax, [ebp - 0x44]
mov dword [ebp - 0xc4], 0xa09e667f
push 0
push eax
mov dword [ebp - 0xc0], 0x3bcc908b
mov dword [ebp - 0xbc], 0xb67ae858
mov dword [ebp - 0xb8], 0x4caa73b2
mov dword [ebp - 0xb4], 0xc6ef372f
mov dword [ebp - 0xb0], 0xe94f82be
mov dword [ebp - 0xac], 0x54ff53a5
mov dword [ebp - 0xa8], 0xf1d36f1c
mov dword [ebp - 0xa4], 0x10e527fa
mov dword [ebp - 0xa0], 0xde682d1d
mov dword [ebp - 0x9c], 0xb05688c2
mov dword [ebp - 0x98], 0xb3e6c1fd
call fcn.0050c5b0
movzx ecx, byte [ebp - 0x84]
movzx eax, byte [ebp - 0x83]
shl ecx, 8
or ecx, eax
movzx edi, byte [ebp - 0x70]
movzx eax, byte [ebp - 0x82]
shl ecx, 8
or ecx, eax
movzx ebx, bl
movzx eax, byte [ebp - 0x81]
shl ecx, 8
or ecx, eax
shl ebx, 8
movzx eax, byte [ebp - 0x7f]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0x44], ecx
movzx ecx, byte [ebp - 0x80]
shl ecx, 8
or ecx, eax
shl edi, 8
movzx eax, byte [ebp - 0x7e]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x7d]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x7b]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x40], ecx
movzx ecx, byte [ebp - 0x7c]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x7a]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x79]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x77]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x3c], ecx
movzx ecx, byte [ebp - 0x78]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x76]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x75]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x73]
or ebx, eax
mov dword [ebp - 0xe0], ecx
movzx eax, byte [ebp - 0x72]
shl ebx, 8
or ebx, eax
mov dword [ebp - 0x38], ecx
movzx eax, byte [ebp - 0x71]
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0x6f]
or edi, eax
mov dword [ebp - 0x34], ebx
shl edi, 8
movzx eax, byte [ebp - 0x6e]
movzx edx, byte [ebp - 0xc5]
or edi, eax
movzx eax, byte [ebp - 0x6d]
movzx ecx, byte [ebp - 0xc9]
shl edx, 8
xor ebx, dword [ebp - 0xd0]
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebp - 0xc6]
or edx, eax
mov dword [ebp - 0x30], edi
movzx eax, byte [ebp - 0xc7]
xor edi, dword [ebp - 0xd8]
shl edx, 8
or edx, eax
mov dword [ebp - 0x24], ebx
movzx eax, byte [ebp - 0xc8]
shl edx, 8
or edx, eax
mov dword [ebp - 0x20], edi
movzx eax, byte [ebp - 0xca]
or ecx, eax
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebp - 0xcb]
xor edx, dword [ebp - 0xdc]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp - 0xcc]
lea edx, [ebp - 0xc4]
shl ecx, 8
or ecx, eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
xor ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x24]
push eax
call fcn.0041e9a0
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0xbc]
lea ecx, [ebp - 0x1c]
call fcn.0041e9a0
movups xmm0, xmmword [ebp - 0x24]
lea eax, [ebp - 0x1c]
movups xmm1, xmmword [ebp - 0x44]
push eax
lea edx, [ebp - 0xb4]
pxor xmm1, xmm0
lea ecx, [ebp - 0x24]
movups xmmword [ebp - 0x24], xmm1
call fcn.0041e9a0
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0xac]
lea ecx, [ebp - 0x1c]
call fcn.0041e9a0
add esp, 0x1c
cmp dword [ebp + 8], 0x80
jbe 0x41ee5d
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0xa4]
xor eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
call fcn.0041e9a0
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0xc]
call fcn.0041e9a0
add esp, 8
mov ebx, dword [ebp - 0xd4]
mov edi, ebx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
shl edi, 4
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x94], eax
cmp byte [edi + 0x78eea0], 0
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x88], edx
je 0x41eeda
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x3c]
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x80], ecx
mov ecx, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x7c], ecx
mov ecx, edx
shl ecx, 0xf
shr eax, 0x11
xor ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x40]
cmp byte [edi + 0x78eea1], 0
je 0x41ef1f
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x3c]
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x70], ecx
mov ecx, edx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x6c], ecx
mov ecx, edx
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov dword [ebp - 0x68], ecx
cmp byte [edi + 0x78eea2], 0
je 0x41ef6a
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x3c]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x60], ecx
mov ecx, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], ecx
mov ecx, edx
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov dword [ebp - 0x58], ecx
cmp byte [edi + 0x78eea3], 0
je 0x41efb3
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
shl eax, 0x1c
shr ecx, 4
xor ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x40]
shr eax, 4
shl ecx, 0x1c
xor eax, ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x50], eax
mov eax, edx
shr eax, 4
shl ecx, 0x1c
xor eax, ecx
shl edx, 0x1c
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
shr eax, 4
xor edx, eax
mov dword [ebp - 0x48], edx
lea ebx, [ebx + ebx*4]
xor edx, edx
shl ebx, 4
mov dword [ebp - 0xd0], ebx
mov al, byte [ebx + edx + 0x78efe0]
cmp al, 0xff
je 0x41efd9
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x94]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78efe1]
cmp al, 0xff
je 0x41eff1
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x90]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78efe2]
cmp al, 0xff
je 0x41f009
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x8c]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78efe3]
cmp al, 0xff
je 0x41f021
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x88]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + str._b_t_n_v__]
cmp al, 0xff
je 0x41f039
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x84]
mov dword [esi + ecx*4], eax
add edx, 5
cmp edx, 0x14
jb 0x41efc1
cmp dword [ebp + 8], 0x80
jbe 0x41f220
cmp byte [edi + 0x78eea4], 0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], eax
je 0x41f0c1
mov eax, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, edx
mov dword [ebp - 0x84], ecx
mov ecx, ebx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp - 0x28]
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x28]
shl ecx, 0xf
shr eax, 0x11
xor ecx, eax
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x34]
cmp byte [edi + 0x78eea5], 0
je 0x41f107
shl ecx, 0x1e
mov eax, edx
shr eax, 2
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x74], ecx
mov ecx, edx
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x70], ecx
mov ecx, ebx
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x28]
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov dword [ebp - 0x68], ecx
cmp byte [edi + 0x78eea6], 0
je 0x41f150
mov eax, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, edx
mov dword [ebp - 0x64], ecx
mov ecx, ebx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x28]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x28]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov dword [ebp - 0x58], ecx
cmp byte [edi + 0x78eea7], 0
je 0x41f194
mov ecx, dword [ebp - 0x34]
mov eax, edx
shr eax, 4
shl ecx, 0x1c
xor ecx, eax
shl edx, 0x1c
mov eax, ebx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x28]
shr eax, 4
xor edx, eax
shl ebx, 0x1c
mov eax, ecx
mov dword [ebp - 0x50], edx
shr eax, 4
xor ebx, eax
shl ecx, 0x1c
mov eax, dword [ebp - 0x34]
shr eax, 4
xor ecx, eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ecx
mov ebx, dword [ebp - 0xd0]
xor edx, edx
nop dword [eax]
mov al, byte [ebx + edx + 0x78eff4]
cmp al, 0xff
je 0x41f1b8
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x94]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78eff5]
cmp al, 0xff
je 0x41f1d0
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x90]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78eff6]
cmp al, 0xff
je 0x41f1e8
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x8c]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78eff7]
cmp al, 0xff
je 0x41f200
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x88]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78eff8]
cmp al, 0xff
je 0x41f218
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x84]
mov dword [esi + ecx*4], eax
add edx, 5
cmp edx, 0x14
jb 0x41f1a0
cmp byte [edi + 0x78eea8], 0
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ebx
je 0x41f290
shl eax, 0xf
mov ecx, edx
shr ecx, 0x11
xor ecx, eax
mov eax, edx
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x80], ecx
mov ecx, ebx
shl eax, 0xf
shr ecx, 0x11
xor ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x7c], ecx
mov ecx, ebx
shr eax, 0x11
shl ecx, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x78], ecx
cmp byte [edi + 0x78eea9], 0
je 0x41f2d8
mov ecx, eax
mov eax, edx
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x74], ecx
mov ecx, edx
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x70], ecx
mov ecx, ebx
shr ecx, 2
shl eax, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x6c], ecx
mov ecx, ebx
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov dword [ebp - 0x68], ecx
cmp byte [edi + 0x78eeaa], 0
je 0x41f321
mov eax, dword [ebp - 0x24]
mov ecx, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, edx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x60], ecx
mov ecx, ebx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x5c], ecx
mov ecx, ebx
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov dword [ebp - 0x58], ecx
cmp byte [edi + 0x78eeab], 0
je 0x41f365
mov ecx, dword [ebp - 0x24]
mov eax, edx
shr eax, 4
shl ecx, 0x1c
xor ecx, eax
shl edx, 0x1c
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
shr eax, 4
xor edx, eax
shl ecx, 0x1c
mov eax, ebx
mov dword [ebp - 0x50], edx
shr eax, 4
xor eax, ecx
shl ebx, 0x1c
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x24]
shr eax, 4
xor ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0xd0]
xor edx, edx
nop dword [eax]
mov al, byte [ebx + edx + 0x78f008]
cmp al, 0xff
je 0x41f388
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x94]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78f009]
cmp al, 0xff
je 0x41f3a0
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x90]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78f00a]
cmp al, 0xff
je 0x41f3b8
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x8c]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78f00b]
cmp al, 0xff
je 0x41f3d0
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x88]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78f00c]
cmp al, 0xff
je 0x41f3e8
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x84]
mov dword [esi + ecx*4], eax
add edx, 5
cmp edx, 0x14
jb 0x41f370
cmp dword [ebp + 8], 0x80
jbe 0x41f5d0
cmp byte [edi + 0x78eeac], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], eax
je 0x41f470
mov eax, dword [ebp - 0x14]
mov ecx, edx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, edx
mov dword [ebp - 0x84], ecx
mov ecx, ebx
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp - 8]
shr ecx, 0x11
shl eax, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 8]
shl ecx, 0xf
shr eax, 0x11
xor ecx, eax
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x14]
cmp byte [edi + 0x78eead], 0
je 0x41f4b6
shl ecx, 0x1e
mov eax, edx
shr eax, 2
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x74], ecx
mov ecx, edx
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x70], ecx
mov ecx, ebx
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 8]
shl ecx, 0x1e
shr eax, 2
xor ecx, eax
mov dword [ebp - 0x68], ecx
cmp byte [edi + 0x78eeae], 0
je 0x41f4ff
mov eax, dword [ebp - 0x14]
mov ecx, edx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, edx
mov dword [ebp - 0x64], ecx
mov ecx, ebx
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, ebx
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 8]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 8]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov dword [ebp - 0x58], ecx
cmp byte [edi + 0x78eeaf], 0
je 0x41f542
mov edi, dword [ebp - 0x14]
mov eax, edx
shr eax, 4
mov ecx, edi
shl ecx, 0x1c
xor ecx, eax
shl edx, 0x1c
mov eax, ebx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 8]
shr eax, 4
xor edx, eax
shl ebx, 0x1c
mov eax, ecx
shr edi, 4
shr eax, 4
xor ebx, eax
shl ecx, 0x1c
xor ecx, edi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ecx
mov ebx, dword [ebp - 0xd0]
xor edx, edx
nop word [eax + eax]
mov al, byte [ebx + edx + 0x78f01c]
cmp al, 0xff
je 0x41f568
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x94]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78f01d]
cmp al, 0xff
je 0x41f580
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x90]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78f01e]
cmp al, 0xff
je 0x41f598
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x8c]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78f01f]
cmp al, 0xff
je 0x41f5b0
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x88]
mov dword [esi + ecx*4], eax
mov al, byte [ebx + edx + 0x78f020]
cmp al, 0xff
je 0x41f5c8
movsx ecx, al
mov eax, dword [ebp + edx*4 - 0x84]
mov dword [esi + ecx*4], eax
add edx, 5
cmp edx, 0x14
jb 0x41f550
mov ecx, dword [ebp - 0xd4]
xor edi, edi
lea eax, [ecx + ecx*4]
lea ebx, [eax*4 + 0x78ee50]
mov al, byte [ebx + edi]
cmp al, 0xff
je 0x41f602
movsx edx, al
lea eax, [ecx + ecx*2]
lea ecx, [edi + eax*4]
mov eax, dword [esi + edx*4]
mov dword [esi + ecx*4 + 0x80], eax
mov ecx, dword [ebp - 0xd4]
inc edi
cmp edi, 0x14
jb 0x41f5e2
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0050b38b
mov esp, ebp
pop ebp
ret