Function at 0x42bbd0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
dec eax
cmp eax, 5
ja case.default.0x42bbde
jmp dword [eax*4 + 0x42bc90]
mov eax, dword [esp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
jmp 0x45eb60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
push eax
push eax
push ecx
call fcn.0045d5e0
add esp, 0xc
ret
call fcn.0042b8a0
test eax, eax
je 0x42bc2b
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
push edx
add eax, 0xf4
push eax
call fcn.004596ed
add esp, 8
ret
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
add ecx, 0xf4
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], eax
jmp 0x460f40
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push 0
push edx
push eax
push eax
call fcn.0045be00
add esp, 0x10
ret
mov eax, dword [esp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
jmp 0x45ac90
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push 0
push ecx
push eax
push eax
call fcn.0045a6e0
add esp, 0x10
ret
mov byte [0], 0
ret
push ebx
push esi
push edi
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
push eax
call fcn.00447cd0
mov ecx, dword [edi + 4]
push ecx
mov esi, eax
call fcn.00447cd0
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0x7c]
mov edi, eax
mov eax, dword [edx + 0x3c]
add eax, edi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
xor ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
sub ecx, dword [ebx*4 + 0x497360]
movzx eax, al
add ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x38]
xor esi, ecx
mov ecx, dword [edx + 0x78]
sub eax, esi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
add ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x497360]
movzx eax, al
sub ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x34]
xor edi, ecx
mov ecx, dword [edx + 0x74]
xor eax, edi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
sub ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
add ecx, dword [ebx*4 + 0x497360]
movzx eax, al
xor ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x30]
xor esi, ecx
mov ecx, dword [edx + 0x70]
add eax, esi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
xor ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
sub ecx, dword [ebx*4 + 0x497360]
movzx eax, al
add ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x2c]
xor edi, ecx
mov ecx, dword [edx + 0x6c]
sub eax, edi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
add ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x497360]
movzx eax, al
sub ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x28]
xor esi, ecx
mov ecx, dword [edx + 0x68]
xor eax, esi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
sub ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
add ecx, dword [ebx*4 + 0x497360]
movzx eax, al
xor ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x24]
xor edi, ecx
mov ecx, dword [edx + 0x64]
add eax, edi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
sub ecx, dword [ebx*4 + 0x497360]
movzx eax, al
add ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x20]
xor esi, ecx
mov ecx, dword [edx + 0x60]
sub eax, esi
rol eax, cl
mov ebx, eax
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
shr ebx, 0x10
movzx ebx, bl
add ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x497360]
movzx eax, al
sub ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x1c]
xor edi, ecx
mov ecx, dword [edx + 0x5c]
xor eax, edi
rol eax, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
sub ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
add ecx, dword [ebx*4 + 0x497360]
movzx eax, al
xor ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x18]
xor esi, ecx
mov ecx, dword [edx + 0x58]
add eax, esi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
xor ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
sub ecx, dword [ebx*4 + 0x497360]
movzx eax, al
add ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x14]
xor edi, ecx
mov ecx, dword [edx + 0x54]
sub eax, edi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
add ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x497360]
movzx eax, al
sub ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0x10]
xor esi, ecx
mov ecx, dword [edx + 0x50]
xor eax, esi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
sub ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
add ecx, dword [ebx*4 + 0x497360]
movzx eax, al
xor ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 0xc]
xor edi, ecx
mov ecx, dword [edx + 0x4c]
add eax, edi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
xor ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
sub ecx, dword [ebx*4 + 0x497360]
movzx eax, al
add ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 8]
xor esi, ecx
mov ecx, dword [edx + 0x48]
sub eax, esi
rol eax, cl
mov ebx, eax
shr ebx, 0x10
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
movzx ebx, bl
add ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x497360]
movzx eax, al
sub ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx + 4]
xor edi, ecx
mov ecx, dword [edx + 0x44]
xor eax, edi
rol eax, cl
mov ebx, eax
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
shr ebx, 0x10
movzx ebx, bl
sub ecx, dword [ebx*4 + 0x496f60]
mov ebx, eax
shr ebx, 8
movzx eax, al
movzx ebx, bl
add ecx, dword [ebx*4 + 0x497360]
xor ecx, dword [eax*4 + 0x497760]
mov eax, dword [edx]
xor esi, ecx
mov ecx, dword [edx + 0x40]
add eax, esi
rol eax, cl
mov edx, eax
shr edx, 0x10
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x496b60]
movzx edx, dl
xor ecx, dword [edx*4 + 0x496f60]
mov edx, eax
shr edx, 8
movzx edx, dl
sub ecx, dword [edx*4 + 0x497360]
movzx eax, al
add ecx, dword [eax*4 + 0x497760]
xor edi, ecx
push edi
call fcn.00447cd0
mov edi, dword [esp + 0x20]
push esi
mov dword [edi], eax
call fcn.00447cd0
add esp, 0x10
mov dword [edi + 4], eax
pop edi
pop esi
pop ebx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov ecx, dword [eax + 0x228]
xor ecx, dword [edx + 8]
push ebx
add eax, 0x1a0
push ebp
mov ebp, dword [eax + 0x84]
xor ebp, dword [edx + 4]
push esi
mov esi, dword [eax + 0x80]
xor esi, dword [edx]
push edi
mov edi, dword [eax + 0x8c]
xor edi, dword [edx + 0xc]
mov edx, ecx
xor ecx, esi
or edx, edi
and esi, edi
xor edi, ebp
or ebp, esi
and edi, edx
not ecx
mov ebx, ecx
xor esi, ebx
and ebx, edx
xor ebp, ebx
xor ebx, esi
xor edx, ebp
mov ecx, ebx
or ecx, esi
mov esi, dword [eax + 0x78]
xor ecx, edi
xor edi, edx
or edx, ecx
xor ecx, dword [eax + 0x74]
xor edx, ebx
xor esi, ebp
mov dword [esp + 0x1c], ebx
mov ebx, edx
xor ebx, dword [eax + 0x7c]
ror esi, 0x16
mov edx, ecx
shl edx, 7
xor esi, edx
mov edx, dword [eax + 0x70]
xor edx, edi
xor edx, dword [esp + 0x1c]
xor esi, ebx
ror edx, 5
xor edx, ebx
xor edx, ecx
ror ebx, 7
lea edi, [edx*8]
xor ebx, edi
xor ebx, esi
ror ecx, 1
xor ecx, edx
xor ecx, esi
ror esi, 3
mov ebp, ecx
ror edx, 0xd
xor edx, esi
mov edi, ebx
xor edi, esi
xor ebx, ebp
mov ecx, edx
and ecx, esi
or edi, edx
not ecx
xor ecx, ebx
xor ebx, edi
xor edi, ebp
mov dword [esp + 0x1c], ebp
xor edx, ecx
mov ebp, ebx
and ebp, dword [esp + 0x1c]
mov esi, ebx
xor esi, edx
xor ebp, edx
or esi, ecx
xor ecx, dword [eax + 0x64]
mov edx, dword [eax + 0x68]
mov dword [esp + 0x1c], esi
xor edx, dword [esp + 0x1c]
mov esi, dword [eax + 0x6c]
xor edx, edi
xor esi, ebx
xor esi, ebp
ror edx, 0x16
mov edi, ecx
shl edi, 7
xor edx, edi
xor edx, esi
mov edi, dword [eax + 0x60]
xor edi, ebp
ror edi, 5
xor edi, esi
xor edi, ecx
ror esi, 7
lea ebx, [edi*8]
xor esi, ebx
xor esi, edx
ror ecx, 1
xor ecx, edx
xor ecx, edi
ror edi, 0xd
ror edx, 3
mov ebx, esi
or esi, edi
not ecx
mov ebp, ecx
xor edx, ebp
xor esi, edx
or edx, ebp
xor ebx, esi
and edx, edi
xor edx, ebx
mov ecx, edx
or ebx, edi
xor ebx, ebp
mov edx, ebx
xor edx, ecx
mov dword [esp + 0x1c], ebp
mov ebp, ecx
and ebp, dword [esp + 0x1c]
xor ecx, dword [eax + 0x5c]
xor ebp, esi
and esi, edx
xor edx, ebp
xor esi, edx
xor esi, edi
not edx
xor edx, dword [eax + 0x54]
mov ebx, edx
mov edx, dword [eax + 0x58]
xor edx, esi
ror edx, 0x16
mov esi, ebx
shl esi, 7
xor edx, esi
mov esi, dword [eax + 0x50]
xor edx, ecx
xor esi, ebp
ror esi, 5
xor esi, ebx
xor esi, ecx
ror ecx, 7
lea edi, [esi*8]
xor ecx, edi
xor ecx, edx
ror ebx, 1
xor ebx, edx
xor ebx, esi
ror edx, 3
mov edi, ecx
mov ecx, edx
and edx, edi
xor edx, ebx
ror esi, 0xd
or ebx, edi
and ebx, esi
mov ebp, ebx
mov ebx, edx
xor ebx, ebp
xor ecx, ebx
xor edi, ecx
not esi
mov ebx, esi
mov esi, edx
and esi, ebp
xor esi, edi
and edi, ebx
xor edi, edx
xor ebx, esi
and edx, ebx
xor edx, ecx
xor ecx, dword [eax + 0x4c]
xor edi, ebx
or edx, edi
xor edx, esi
mov esi, dword [eax + 0x44]
xor esi, edi
xor esi, ebx
mov ebp, edx
mov edx, dword [eax + 0x48]
xor edx, ebp
ror edx, 0x16
mov edi, esi
shl edi, 7
xor edx, edi
mov edi, dword [eax + 0x40]
xor edx, ecx
xor edi, ebx
ror edi, 5
xor edi, esi
xor edi, ecx
ror ecx, 7
lea ebx, [edi*8]
xor ecx, ebx
xor ecx, edx
ror esi, 1
xor esi, edx
xor esi, edi
ror edx, 3
mov ebp, ecx
mov ecx, edx
xor edx, esi
mov ebx, edx
and ebx, esi
ror edi, 0xd
xor ebx, edi
and edi, ecx
xor ecx, ebp
xor edi, ecx
mov dword [esp + 0x1c], ebp
mov ebp, ebx
or ebp, dword [esp + 0x1c]
xor ebp, edx
xor edx, edi
xor ecx, edx
and edx, ebp
or edi, ebp
xor edi, ebx
or ebx, ebp
xor ebx, edx
xor ebx, dword [eax + 0x3c]
xor edx, ecx
mov ecx, dword [eax + 0x38]
mov esi, edi
xor edx, esi
xor esi, dword [eax + 0x34]
xor ecx, edx
ror ecx, 0x16
mov edx, esi
shl edx, 7
xor ecx, edx
mov edx, dword [eax + 0x30]
xor edx, ebp
xor ecx, ebx
ror edx, 5
xor edx, ebx
xor edx, esi
ror ebx, 7
lea edi, [edx*8]
xor ebx, edi
xor ebx, ecx
ror esi, 1
xor esi, ecx
xor esi, edx
ror edx, 0xd
ror ecx, 3
xor ecx, ebx
xor ebx, edx
mov edi, ecx
and edi, ebx
xor edi, esi
mov ebp, ecx
xor ecx, edi
or ebp, esi
xor ebp, ebx
and ebx, edi
and ebx, edx
xor ebx, ecx
and ecx, ebp
or ecx, edx
not edi
xor ecx, edi
mov dword [esp + 0x1c], ecx
mov esi, ebx
mov ebx, edi
xor ebx, edx
mov edx, dword [eax + 0x28]
xor edx, dword [esp + 0x1c]
and ebx, ebp
mov ecx, esi
xor esi, dword [eax + 0x24]
xor ecx, edi
xor ecx, ebx
xor ecx, dword [eax + 0x2c]
mov edi, esi
shl edi, 7
ror edx, 0x16
xor edx, edi
mov edi, dword [eax + 0x20]
xor edx, ecx
xor edi, ebp
ror edi, 5
xor edi, esi
xor edi, ecx
ror ecx, 7
lea ebx, [edi*8]
xor ecx, ebx
xor ecx, edx
ror esi, 1
xor esi, edx
xor esi, edi
mov ebp, esi
xor esi, ecx
mov ebx, esi
and ebx, ecx
mov ecx, esi
ror edx, 3
ror edi, 0xd
or ecx, edi
xor ebp, edx
xor ebx, edi
mov edi, dword [eax + 0x18]
xor ecx, ebp
xor esi, ebx
xor edx, ebx
or ecx, edx
xor edx, dword [eax + 0x1c]
xor ecx, esi
or esi, ebx
xor esi, ecx
not ebp
xor ebp, esi
or esi, ecx
xor esi, ecx
xor ecx, dword [eax + 0x14]
or esi, ebp
xor edi, esi
xor edi, ebx
mov ebx, dword [eax + 0x10]
ror edi, 0x16
xor ebx, ebp
mov esi, ecx
shl esi, 7
xor edi, esi
xor edi, edx
ror ebx, 5
xor ebx, edx
xor ebx, ecx
ror edx, 7
lea esi, [ebx*8]
xor edx, esi
xor edx, edi
ror ecx, 1
xor ecx, edi
xor ecx, ebx
ror ebx, 0xd
ror edi, 3
mov esi, edx
not edi
mov edx, edi
mov edi, ecx
not edi
or ecx, ebx
xor ecx, edx
xor ebx, edi
mov ebp, edi
or ebp, edx
xor ecx, esi
xor ebp, ebx
and ebx, esi
xor edi, ebx
mov edx, ecx
xor esi, edi
or edx, ebx
xor edx, ebp
xor esi, ecx
xor ebp, ecx
xor ecx, dword [eax + 8]
xor esi, edx
xor edx, dword [eax]
and ebp, esi
xor ebp, dword [eax + 4]
mov dword [esp + 0x14], 3
xor edi, ebp
xor esi, dword [eax + 0xc]
mov ebx, edi
shl ebx, 7
add eax, 0xffffff80
ror ecx, 0x16
xor ecx, ebx
xor ecx, esi
mov ebp, ecx
mov ecx, edx
ror ecx, 5
xor ecx, esi
xor ecx, edi
ror esi, 7
lea edx, [ecx*8]
xor esi, edx
xor esi, ebp
ror edi, 1
xor edi, ebp
xor edi, ecx
ror ebp, 3
ror ecx, 0xd
mov ebx, edi
mov edi, ecx
mov edx, ebp
or edx, esi
xor ebp, edi
and edi, esi
xor esi, ebx
or ebx, edi
and esi, edx
not ebp
xor edi, ebp
and ebp, edx
xor ebx, ebp
xor edx, ebx
xor ebp, edi
mov ecx, ebp
or ecx, edi
mov edi, dword [eax + 0x78]
xor ecx, esi
xor esi, edx
or edx, ecx
xor ecx, dword [eax + 0x74]
xor edx, ebp
mov dword [esp + 0x1c], ebx
xor edi, dword [esp + 0x1c]
mov ebx, edx
xor ebx, dword [eax + 0x7c]
ror edi, 0x16
mov edx, ecx
shl edx, 7
xor edi, edx
mov edx, dword [eax + 0x70]
xor edx, esi
xor edi, ebx
xor edx, ebp
ror edx, 5
xor edx, ebx
xor edx, ecx
ror ebx, 7
lea esi, [edx*8]
xor ebx, esi
xor ebx, edi
ror ecx, 1
xor ecx, edx
xor ecx, edi
ror edi, 3
mov ebp, edi
mov esi, ecx
ror edx, 0xd
xor edx, ebp
mov ecx, edx
mov edi, ebx
and ecx, ebp
xor ebx, esi
xor edi, ebp
not ecx
xor ecx, ebx
or edi, edx
xor edx, ecx
xor ebx, edi
xor edi, esi
mov ebp, ebx
and ebp, esi
xor ebp, edx
mov esi, ebx
xor esi, edx
or esi, ecx
xor ecx, dword [eax + 0x64]
mov edx, dword [eax + 0x68]
mov dword [esp + 0x1c], esi
xor edx, dword [esp + 0x1c]
mov esi, dword [eax + 0x6c]
xor edx, edi
xor esi, ebx
xor esi, ebp
ror edx, 0x16
mov edi, ecx
shl edi, 7
xor edx, edi
xor edx, esi
mov edi, dword [eax + 0x60]
xor edi, ebp
ror edi, 5
xor edi, esi
xor edi, ecx
ror esi, 7
lea ebx, [edi*8]
xor esi, ebx
xor esi, edx
ror ecx, 1
xor ecx, edx
xor ecx, edi
ror edi, 0xd
ror edx, 3
mov ebx, esi
or esi, edi
not ecx
mov ebp, ecx
xor edx, ebp
xor esi, edx
or edx, ebp
xor ebx, esi
and edx, edi
xor edx, ebx
mov ecx, edx
or ebx, edi
xor ebx, ebp
mov dword [esp + 0x1c], ebp
mov ebp, ecx
and ebp, dword [esp + 0x1c]
mov edx, ebx
xor edx, ecx
xor ecx, dword [eax + 0x5c]
xor ebp, esi
and esi, edx
xor edx, ebp
xor esi, edx
xor esi, edi
not edx
xor edx, dword [eax + 0x54]
mov ebx, edx
mov edx, dword [eax + 0x58]
xor edx, esi
ror edx, 0x16
mov esi, ebx
shl esi, 7
xor edx, esi
mov esi, dword [eax + 0x50]
xor edx, ecx
xor esi, ebp
ror esi, 5
xor esi, ebx
xor esi, ecx
ror ecx, 7
lea edi, [esi*8]
xor ecx, edi
xor ecx, edx
ror ebx, 1
xor ebx, edx
xor ebx, esi
mov edi, ecx
ror edx, 3
mov ecx, edx
and edx, edi
xor edx, ebx
or ebx, edi
ror esi, 0xd
and ebx, esi
mov ebp, ebx
mov ebx, edx
xor ebx, ebp
xor ecx, ebx
xor edi, ecx
not esi
mov ebx, esi
mov esi, edx
and esi, ebp
xor esi, edi
and edi, ebx
xor edi, edx
xor ebx, esi
and edx, ebx
xor edx, ecx
xor ecx, dword [eax + 0x4c]
xor edi, ebx
or edx, edi
xor edx, esi
mov esi, dword [eax + 0x44]
xor esi, edi
xor esi, ebx
mov ebp, edx
mov edx, dword [eax + 0x48]
xor edx, ebp
ror edx, 0x16
mov edi, esi
shl edi, 7
xor edx, edi
mov edi, dword [eax + 0x40]
xor edx, ecx
xor edi, ebx
ror edi, 5
xor edi, esi
xor edi, ecx
ror ecx, 7
lea ebx, [edi*8]
xor ecx, ebx
xor ecx, edx
ror esi, 1
xor esi, edx
xor esi, edi
ror edx, 3
mov ebp, ecx
mov ecx, edx
xor edx, esi
mov ebx, edx
and ebx, esi
ror edi, 0xd
xor ebx, edi
and edi, ecx
xor ecx, ebp
mov dword [esp + 0x1c], ebp
mov ebp, ebx
or ebp, dword [esp + 0x1c]
xor edi, ecx
xor ebp, edx
xor edx, edi
xor ecx, edx
and edx, ebp
or edi, ebp
xor edi, ebx
or ebx, ebp
xor ebx, edx
xor ebx, dword [eax + 0x3c]
xor edx, ecx
mov ecx, dword [eax + 0x38]
mov esi, edi
xor edx, esi
xor esi, dword [eax + 0x34]
xor ecx, edx
mov edx, esi
ror ecx, 0x16
shl edx, 7
xor ecx, edx
xor ecx, ebx
mov edx, dword [eax + 0x30]
xor edx, ebp
ror edx, 5
xor edx, ebx
xor edx, esi
ror ebx, 7
lea edi, [edx*8]
xor ebx, edi
xor ebx, ecx
ror esi, 1
xor esi, ecx
xor esi, edx
ror edx, 0xd
ror ecx, 3
xor ecx, ebx
xor ebx, edx
mov edi, ecx
and edi, ebx
xor edi, esi
mov ebp, ecx
xor ecx, edi
or ebp, esi
xor ebp, ebx
and ebx, edi
and ebx, edx
xor ebx, ecx
and ecx, ebp
or ecx, edx
not edi
xor ecx, edi
mov dword [esp + 0x1c], ecx
mov esi, ebx
mov ebx, edi
xor ebx, edx
mov edx, dword [eax + 0x28]
xor edx, dword [esp + 0x1c]
and ebx, ebp
mov ecx, esi
xor esi, dword [eax + 0x24]
xor ecx, edi
xor ecx, ebx
xor ecx, dword [eax + 0x2c]
mov edi, esi
shl edi, 7
ror edx, 0x16
xor edx, edi
mov edi, dword [eax + 0x20]
xor edx, ecx
xor edi, ebp
ror edi, 5
xor edi, esi
xor edi, ecx
ror ecx, 7
lea ebx, [edi*8]
xor ecx, ebx
xor ecx, edx
ror esi, 1
xor esi, edx
xor esi, edi
mov ebp, esi
xor esi, ecx
mov ebx, esi
and ebx, ecx
mov ecx, esi
ror edx, 3
ror edi, 0xd
xor ebp, edx
xor ebx, edi
or ecx, edi
xor ecx, ebp
xor esi, ebx
xor edx, ebx
or ecx, edx
xor ecx, esi
or esi, ebx
xor esi, ecx
not ebp
xor ebp, esi
or esi, ecx
xor esi, ecx
xor ecx, dword [eax + 0x14]
xor edx, dword [eax + 0x1c]
or esi, ebp
mov edi, esi
mov esi, dword [eax + 0x18]
xor esi, edi
xor esi, ebx
ror esi, 0x16
mov edi, ecx
shl edi, 7
xor esi, edi
mov edi, dword [eax + 0x10]
xor esi, edx
xor edi, ebp
ror edi, 5
xor edi, edx
xor edi, ecx
ror edx, 7
lea ebx, [edi*8]
xor edx, ebx
xor edx, esi
ror ecx, 1
xor ecx, esi
xor ecx, edi
ror edi, 0xd
mov ebp, edx
mov edx, edi
ror esi, 3
mov edi, ecx
or ecx, edx
not esi
xor ecx, esi
not edi
xor edx, edi
xor ecx, ebp
mov ebx, edi
or ebx, esi
xor ebx, edx
and edx, ebp
xor edi, edx
mov esi, ecx
or esi, edx
xor esi, ebx
xor ebp, edi
mov edx, esi
xor ebp, ecx
xor ebp, edx
xor edx, dword [eax]
xor ebx, ecx
xor ecx, dword [eax + 8]
mov esi, ebp
and ebx, esi
xor ebx, dword [eax + 4]
xor esi, dword [eax + 0xc]
xor edi, ebx
sub dword [esp + 0x14], 1
jne 0x45eee6
mov eax, dword [esp + 0x18]
mov dword [eax + 4], edi
pop edi
mov dword [eax + 0xc], esi
pop esi
pop ebp
mov dword [eax], edx
mov dword [eax + 8], ecx
pop ebx
sub esp, 0x14
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea esi, [esi + 0x10]
mov ebp, dword [esp + 0x20]
movzx edi, byte [ebp + 0xf0]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
xor ecx, dword [ebp + 8]
xor edx, dword [ebp + 0xc]
cmp edi, 0xa0
je 0x4612ee
cmp edi, 0xc0
je 0x46114a
cmp edi, 0xe0
je 0x460fa6
mov eax, 0xffffffff
jmp 0x461b30
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
or ebx, eax
shr ecx, 0x10
movzx eax, bh
xor ebp, dword [eax*4 + 0x4a0900]
movzx eax, ch
xor ebp, dword [eax*4 + 0x4a1100]
movzx ecx, cl
mov eax, dword [ecx*4 + 0x4a0d00]
movzx ecx, bl
xor eax, dword [ecx*4 + 0x4a0500]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4a0900]
shr ebx, 0x10
shr edx, 0x10
movzx ecx, dh
xor esi, dword [ecx*4 + 0x4a1100]
movzx ecx, dl
xor ebp, dword [ecx*4 + 0x4a0d00]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4a1100]
movzx ecx, bl
xor edi, dword [ecx*4 + 0x4a0d00]
mov ebx, ebp
mov ecx, esi
mov edx, edi
mov ebp, dword [esp]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
or ebx, eax
shr ecx, 0x10
movzx eax, bh
xor ebp, dword [eax*4 + 0x4a0900]
movzx eax, ch
xor ebp, dword [eax*4 + 0x4a1100]
movzx ecx, cl
mov eax, dword [ecx*4 + 0x4a0d00]
movzx ecx, bl
xor eax, dword [ecx*4 + 0x4a0500]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4a0900]
shr ebx, 0x10
shr edx, 0x10
movzx ecx, dh
xor esi, dword [ecx*4 + 0x4a1100]
movzx ecx, dl
xor ebp, dword [ecx*4 + 0x4a0d00]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4a1100]
movzx ecx, bl
xor edi, dword [ecx*4 + 0x4a0d00]
mov ebx, ebp
mov ecx, esi
mov edx, edi
mov ebp, dword [esp]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
or ebx, eax
shr ecx, 0x10
movzx eax, bh
xor ebp, dword [eax*4 + 0x4a0900]
movzx eax, ch
xor ebp, dword [eax*4 + 0x4a1100]
movzx ecx, cl
mov eax, dword [ecx*4 + 0x4a0d00]
movzx ecx, bl
xor eax, dword [ecx*4 + 0x4a0500]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4a0900]
shr ebx, 0x10
shr edx, 0x10
movzx ecx, dh
xor esi, dword [ecx*4 + 0x4a1100]
movzx ecx, dl
xor ebp, dword [ecx*4 + 0x4a0d00]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4a1100]
movzx ecx, bl
xor edi, dword [ecx*4 + 0x4a0d00]
mov ebx, ebp
mov ecx, esi
mov edx, edi
mov ebp, dword [esp]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
or ebx, eax
shr ecx, 0x10
movzx eax, bh
xor ebp, dword [eax*4 + 0x4a0900]
movzx eax, ch
xor ebp, dword [eax*4 + 0x4a1100]
movzx ecx, cl
mov eax, dword [ecx*4 + 0x4a0d00]
movzx ecx, bl
xor eax, dword [ecx*4 + 0x4a0500]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4a0900]
shr ebx, 0x10
shr edx, 0x10
movzx ecx, dh
xor esi, dword [ecx*4 + 0x4a1100]
movzx ecx, dl
xor ebp, dword [ecx*4 + 0x4a0d00]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4a1100]
movzx ecx, bl
xor edi, dword [ecx*4 + 0x4a0d00]
mov ebx, ebp
mov ecx, esi
mov edx, edi
mov ebp, dword [esp]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
or ebx, eax
shr ecx, 0x10
movzx eax, bh
xor ebp, dword [eax*4 + 0x4a0900]
movzx eax, ch
xor ebp, dword [eax*4 + 0x4a1100]
movzx ecx, cl
mov eax, dword [ecx*4 + 0x4a0d00]
movzx ecx, bl
xor eax, dword [ecx*4 + 0x4a0500]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4a0900]
shr ebx, 0x10
shr edx, 0x10
movzx ecx, dh
xor esi, dword [ecx*4 + 0x4a1100]
movzx ecx, dl
xor ebp, dword [ecx*4 + 0x4a0d00]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4a1100]
movzx ecx, bl
xor edi, dword [ecx*4 + 0x4a0d00]
mov ebx, ebp
mov ecx, esi
mov edx, edi
mov ebp, dword [esp]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
or ebx, eax
shr ecx, 0x10
movzx eax, bh
xor ebp, dword [eax*4 + 0x4a0900]
movzx eax, ch
xor ebp, dword [eax*4 + 0x4a1100]
movzx ecx, cl
mov eax, dword [ecx*4 + 0x4a0d00]
movzx ecx, bl
xor eax, dword [ecx*4 + 0x4a0500]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4a0900]
shr ebx, 0x10
shr edx, 0x10
movzx ecx, dh
xor esi, dword [ecx*4 + 0x4a1100]
movzx ecx, dl
xor ebp, dword [ecx*4 + 0x4a0d00]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4a1100]
movzx ecx, bl
xor edi, dword [ecx*4 + 0x4a0d00]
mov ebx, ebp
mov ecx, esi
mov edx, edi
mov ebp, dword [esp]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
or ebx, eax
shr ecx, 0x10
movzx eax, bh
xor ebp, dword [eax*4 + 0x4a0900]
movzx eax, ch
xor ebp, dword [eax*4 + 0x4a1100]
movzx ecx, cl
mov eax, dword [ecx*4 + 0x4a0d00]
movzx ecx, bl
xor eax, dword [ecx*4 + 0x4a0500]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4a0900]
shr ebx, 0x10
shr edx, 0x10
movzx ecx, dh
xor esi, dword [ecx*4 + 0x4a1100]
movzx ecx, dl
xor ebp, dword [ecx*4 + 0x4a0d00]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4a1100]
movzx ecx, bl
xor edi, dword [ecx*4 + 0x4a0d00]
mov ebx, ebp
mov ecx, esi
mov edx, edi
mov ebp, dword [esp]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
or ebx, eax
shr ecx, 0x10
movzx eax, bh
xor ebp, dword [eax*4 + 0x4a0900]
movzx eax, ch
xor ebp, dword [eax*4 + 0x4a1100]
movzx ecx, cl
mov eax, dword [ecx*4 + 0x4a0d00]
movzx ecx, bl
xor eax, dword [ecx*4 + 0x4a0500]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4a0900]
shr ebx, 0x10
shr edx, 0x10
movzx ecx, dh
xor esi, dword [ecx*4 + 0x4a1100]
movzx ecx, dl
xor ebp, dword [ecx*4 + 0x4a0d00]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4a1100]
movzx ecx, bl
xor edi, dword [ecx*4 + 0x4a0d00]
mov ebx, ebp
mov ecx, esi
mov edx, edi
mov ebp, dword [esp]
xor eax, dword [ebp]
xor ebx, dword [ebp + 4]
add ebp, 0x10
mov dword [esp], ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
rol eax, 0x10
movzx ebp, cl
xor esi, dword [ebp*4 + 0x4a0500]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x4a0900]
movzx ebp, al
xor esi, dword [ebp*4 + 0x4a0d00]
movzx ebp, dl
xor edi, dword [ebp*4 + 0x4a0500]
movzx ebp, ch
xor edi, dword [ebp*4 + 0x4a0900]
movzx ebp, ah
xor edi, dword [ebp*4 + 0x4a1100]
movzx ebp, bl
mov ebp, dword [ebp*4 + 0x4a0500]
shr eax, 0x10
and ebx, 0xffff0000
invalid