Function at 0x42f3f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x5c], ecx
test esi, esi
jle 0x42fbd0
mov ecx, dword [edx]
mov dword [esp + 0x60], ecx
cmp esi, 4
jle 0x42fbb0
mov eax, dword [edx + 4]
mov dword [esp + 0x68], eax
cmp esi, 8
jle 0x42fbf0
mov ebx, dword [edx + 8]
cmp esi, 0xc
jle 0x42fb90
mov esi, dword [esp + 0x64]
mov ebp, ecx
shr ecx, 1
mov edx, dword [edx + 0xc]
and ecx, 0x55555555
and ebp, 0x55555555
mov dword [esp], 0x4481cc
lea edi, [esi + esi]
and esi, 0xaaaaaaaa
or ecx, esi
and edi, 0xaaaaaaaa
mov esi, dword [esp + 0x6c]
or edi, ebp
mov ebp, eax
shr eax, 1
mov dword [esp + 0x1c], ecx
and eax, 0x55555555
lea ecx, [esi + esi]
and esi, 0xaaaaaaaa
mov dword [esp + 0x18], edi
or eax, esi
and ebp, 0x55555555
mov esi, dword [esp + 0x74]
and ecx, 0xaaaaaaaa
or ecx, ebp
mov ebp, ebx
shr ebx, 1
lea edi, [esi + esi]
and ebx, 0x55555555
and esi, 0xaaaaaaaa
and ebp, 0x55555555
or ebx, esi
mov esi, dword [esp + 0x7c]
and edi, 0xaaaaaaaa
mov dword [esp + 0x20], ebx
or ebp, edi
mov edi, edx
shr edx, 1
lea ebx, [esi + esi]
and edi, 0x55555555
and esi, 0xaaaaaaaa
and edx, 0x55555555
and ebx, 0xaaaaaaaa
or edx, esi
lea esi, [ecx*4]
or ebx, edi
mov edi, dword [esp + 0x18]
and esi, 0xcccccccc
and edi, 0x33333333
or edi, esi
mov esi, dword [esp + 0x18]
shr esi, 2
and esi, 0x33333333
and ecx, 0xcccccccc
or esi, ecx
lea ecx, [eax*4]
and eax, 0xcccccccc
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x1c]
and ecx, 0xcccccccc
and esi, 0x33333333
or esi, ecx
mov ecx, dword [esp + 0x1c]
shr ecx, 2
and ecx, 0x33333333
or ecx, eax
mov eax, ebp
shr ebp, 2
mov dword [esp + 0x1c], ecx
and ebp, 0x33333333
lea ecx, [ebx*4]
and ebx, 0xcccccccc
or ebx, ebp
and eax, 0x33333333
mov ebp, dword [esp + 0x20]
and ecx, 0xcccccccc
or ecx, eax
lea eax, [edx*4]
and edx, 0xcccccccc
and ebp, 0x33333333
and eax, 0xcccccccc
or eax, ebp
mov ebp, dword [esp + 0x20]
shr ebp, 2
and ebp, 0x33333333
or ebp, edx
mov edx, ecx
and ecx, 0xf0f0f0f0
mov dword [esp + 0x20], ebp
shl edx, 4
mov ebp, edi
shr edi, 4
and ebp, 0xf0f0f0f
and edx, 0xf0f0f0f0
and edi, 0xf0f0f0f
or edi, ecx
or edx, ebp
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x24], edx
mov edx, esi
shr esi, 4
and edx, 0xf0f0f0f
mov dword [esp + 0x28], edi
and eax, 0xf0f0f0f0
and ecx, 0xf0f0f0f0
mov dword [esp + 0x70], edi
mov edi, esi
mov esi, dword [esp + 0x18]
or ecx, edx
and edi, 0xf0f0f0f
mov edx, ebx
and ebx, 0xf0f0f0f0
mov dword [esp + 0x64], ecx
or edi, eax
shl edx, 4
mov eax, esi
mov dword [esp + 0x2c], ecx
and eax, 0xf0f0f0f
and edx, 0xf0f0f0f0
shr esi, 4
mov dword [esp + 0x74], edi
or edx, eax
and esi, 0xf0f0f0f
mov dword [esp + 0x68], edx
or esi, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov eax, ebx
shr ebx, 4
mov dword [esp + 0x78], esi
mov ebp, edx
and eax, 0xf0f0f0f
and ebx, 0xf0f0f0f
shl ebp, 4
and ebp, 0xf0f0f0f0
or ebp, eax
mov eax, edx
and eax, 0xf0f0f0f0
mov dword [esp + 0x6c], ebp
or ebx, eax
mov dword [esp + 0x7c], ebx
call fcn.00438340
cmp byte [eax], 0
jne 0x42fb79
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
xor eax, dword [edx]
xor ecx, dword [edx + 4]
mov dword [esp + 0x60], eax
mov eax, edx
mov edx, dword [esp + 0x18]
xor edx, dword [eax + 8]
xor ebp, dword [eax + 0xc]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov edx, eax
mov eax, dword [esp + 0x28]
xor eax, dword [edx + 0x10]
xor edi, dword [edx + 0x14]
mov dword [esp + 0x6c], ebp
xor esi, dword [edx + 0x18]
xor ebx, dword [edx + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x1e0]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x58], eax
cmp eax, 1
jle 0x42fc10
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x18], 1
add eax, 0x20
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x54], eax
jmp 0x42f779
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
xor ebp, dword [esp + 0x34]
xor ebp, dword [esp + 0x4c]
xor ebp, dword [edi]
add dword [esp + 0x18], 1
mov dword [esp + 0x60], ebp
mov ebp, edi
mov edi, dword [esp + 0x50]
xor edi, dword [ebp + 4]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x20]
xor edi, dword [ebp + 8]
xor eax, dword [ebp + 0x1c]
xor ebx, dword [ebp + 0xc]
xor edx, dword [ebp + 0x10]
mov dword [esp + 0x68], edi
mov edi, ebp
xor ecx, dword [ebp + 0x14]
xor esi, dword [ebp + 0x18]
add edi, 0x20
mov dword [esp + 0x7c], eax
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x58], eax
je 0x42fc18
mov ecx, dword [esp + 0x54]
call fcn.0042e9d0
mov edx, dword [esp + 0x60]
mov eax, edx
mov ecx, edx
shl eax, 6
shr ecx, 2
and ecx, 0x3f00
and eax, 0xc000
or eax, ecx
movzx ecx, dl
or eax, ecx
mov ecx, edx
shr ecx, 4
and ecx, 0xf0000
or eax, ecx
mov ecx, edx
shl ecx, 4
and ecx, 0xf00000
or eax, ecx
mov ecx, edx
shl edx, 2
shr ecx, 6
and edx, 0xfc000000
and ecx, 0x3000000
or eax, ecx
or eax, edx
mov ebp, eax
mov eax, dword [esp + 0x64]
mov ecx, eax
mov edx, eax
shr ecx, 2
shl edx, 6
and ecx, 0x3f00
and edx, 0xc000
or edx, ecx
movzx ecx, al
or edx, ecx
mov ecx, eax
shr ecx, 4
and ecx, 0xf0000
or edx, ecx
mov ecx, eax
shl ecx, 4
and ecx, 0xf00000
or edx, ecx
mov ecx, eax
shr ecx, 6
and ecx, 0x3000000
shl eax, 2
or ecx, edx
and eax, 0xfc000000
mov edi, ecx
or edi, eax
mov eax, dword [esp + 0x68]
mov ecx, eax
mov edx, eax
shr ecx, 2
shl edx, 6
and ecx, 0x3f00
and edx, 0xc000
or edx, ecx
movzx ecx, al
or edx, ecx
mov ecx, eax
shr ecx, 4
and ecx, 0xf0000
or edx, ecx
mov ecx, eax
shl ecx, 4
and ecx, 0xf00000
or edx, ecx
mov ecx, eax
shl eax, 2
shr ecx, 6
and eax, 0xfc000000
and ecx, 0x3000000
or ecx, edx
mov esi, ecx
or esi, eax
mov eax, dword [esp + 0x6c]
mov ecx, eax
mov edx, eax
shr ecx, 2
shl edx, 6
and ecx, 0x3f00
and edx, 0xc000
or edx, ecx
movzx ecx, al
or edx, ecx
mov ecx, eax
shr ecx, 4
and ecx, 0xf0000
or edx, ecx
mov ecx, eax
shl ecx, 4
and ecx, 0xf00000
or edx, ecx
mov ecx, eax
shl eax, 2
shr ecx, 6
and eax, 0xfc000000
and ecx, 0x3000000
or ecx, edx
or ecx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x34], ecx
mov edx, eax
shr edx, 2
mov ecx, edx
mov edx, eax
shl edx, 6
and ecx, 0x3f00
and edx, 0xc000
or edx, ecx
movzx ecx, al
or edx, ecx
mov ecx, eax
shr ecx, 4
and ecx, 0xf0000
or edx, ecx
mov ecx, eax
shl ecx, 4
and ecx, 0xf00000
or edx, ecx
mov ecx, eax
shl eax, 2
shr ecx, 6
and eax, 0xfc000000
and ecx, 0x3000000
or ecx, edx
mov ebx, ecx
or ebx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x48], ebx
mov edx, eax
shr edx, 2
mov ecx, edx
mov edx, eax
shl edx, 6
and ecx, 0x3f00
and edx, 0xc000
or edx, ecx
movzx ecx, al
or edx, ecx
mov ecx, eax
shr ecx, 4
and ecx, 0xf0000
or edx, ecx
mov ecx, eax
shl ecx, 4
and ecx, 0xf00000
or edx, ecx
mov ecx, eax
shl eax, 2
shr ecx, 6
and eax, 0xfc000000
and ecx, 0x3000000
or ecx, edx
mov edx, ecx
or edx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], edx
mov ecx, eax
mov edx, eax
shr ecx, 2
shl edx, 6
and ecx, 0x3f00
and edx, 0xc000
or edx, ecx
movzx ecx, al
or edx, ecx
mov ecx, eax
shr ecx, 4
and ecx, 0xf0000
or edx, ecx
mov ecx, eax
shl ecx, 4
and ecx, 0xf00000
or edx, ecx
mov ecx, eax
shl eax, 2
shr ecx, 6
and eax, 0xfc000000
and ecx, 0x3000000
or ecx, edx
or ecx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x3c], ecx
mov edx, eax
mov ecx, eax
shr edx, 2
and edx, 0x3f00
shl ecx, 6
and ecx, 0xc000
or ecx, edx
movzx edx, al
or ecx, edx
mov edx, eax
shr edx, 4
and edx, 0xf0000
or ecx, edx
mov edx, eax
shl edx, 4
and edx, 0xf00000
or ecx, edx
mov edx, eax
shl eax, 2
shr edx, 6
and eax, 0xfc000000
and edx, 0x3000000
or edx, ecx
or edx, eax
mov eax, ebp
ror eax, 8
mov dword [esp + 0x40], eax
mov eax, edi
xor ebp, dword [esp + 0x40]
ror eax, 8
mov ecx, eax
mov eax, esi
ror eax, 8
xor edi, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
xor esi, dword [esp + 0x20]
ror eax, 8
mov dword [esp + 0x24], eax
mov eax, ebx
mov ebx, dword [esp + 0x38]
ror eax, 8
mov dword [esp + 0x28], eax
ror ebx, 8
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x34]
xor ebx, dword [esp + 0x24]
ror eax, 8
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x48]
xor ebx, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, edx
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x38]
ror eax, 8
xor ebx, dword [esp + 0x2c]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x3c]
xor ebx, dword [esp + 0x30]
mov dword [esp + 0x3c], ebx
mov ebx, eax
xor ebx, edx
xor ecx, eax
xor ecx, edx
mov dword [esp + 0x34], ebx
mov ebx, ebp
xor ecx, ebp
mov ebp, edi
rol ebx, 0x10
rol ebp, 0x10
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x20]
xor ecx, ebp
mov ebp, esi
mov dword [esp + 0x50], ecx
xor ebx, edi
rol ebp, 0x10
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x24]
mov edi, ebx
xor edi, ebp
xor ecx, eax
mov dword [esp + 0x20], edi
xor ecx, edx
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x38]
xor ecx, esi
mov esi, dword [esp + 0x44]
mov ebx, esi
rol ebx, 0x10
xor ebx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x6c], ebx
xor ecx, eax
xor ecx, edx
xor ecx, esi
mov esi, dword [esp + 0x48]
mov edx, esi
rol edx, 0x10
xor edx, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x70], edx
xor ecx, esi
mov esi, edi
rol esi, 0x10
xor ecx, esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x74], ecx
xor esi, edi
mov edi, dword [esp + 0x3c]
mov ebp, edi
xor eax, edi
rol ebp, 0x10
xor esi, ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x78], esi
rol ebp, 0x10
xor eax, ebp
cmp dword [esp + 0x18], 0xf
mov dword [esp + 0x7c], eax
jne 0x42f708
mov dword [esp + 4], 0x77
mov dword [esp], 0x78
call fcn.0040b140
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
sub esi, 1
mov dword [esp], 0xc
mov dword [esp + 4], esi
call fcn.0040b140
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
sub esi, 1
mov dword [esp], 4
mov dword [esp + 4], esi
call fcn.0040b140
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
sub esi, 1
mov dword [esp], 0
mov dword [esp + 4], esi
call fcn.0040b140
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
sub esi, 1
mov dword [esp], 8
mov dword [esp + 4], esi
call fcn.0040b140
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
lea eax, [esp + 0x60]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x54]
call fcn.0042e9d0
mov edx, dword [esp + 0x60]
mov eax, edx
mov ecx, edx
shl eax, 6
shr ecx, 2
and ecx, 0x3f00
and eax, 0xc000
or eax, ecx
movzx ecx, dl
or eax, ecx
mov ecx, edx
shr ecx, 4
and ecx, 0xf0000
or eax, ecx
mov ecx, edx
shl ecx, 4
and ecx, 0xf00000
or eax, ecx
mov ecx, edx
shl edx, 2
shr ecx, 6
and edx, 0xfc000000
and ecx, 0x3000000
or eax, ecx
or eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov ecx, eax
mov edx, eax
shl ecx, 6
shr edx, 2
and edx, 0x3f00
and ecx, 0xc000
or ecx, edx
movzx edx, al
or ecx, edx
mov edx, eax
shr edx, 4
and edx, 0xf0000
or ecx, edx
mov edx, eax
shl edx, 4
and edx, 0xf00000
or ecx, edx
mov edx, eax
shr edx, 6
and edx, 0x3000000
shl eax, 2
or ecx, edx
and eax, 0xfc000000
or ecx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], ecx
mov edx, eax
mov ebx, eax
shr edx, 2
shl ebx, 6
and ebx, 0xc000
and edx, 0x3f00
or edx, ebx
movzx ebx, al
or edx, ebx
mov ebx, eax
shr ebx, 4
and ebx, 0xf0000
or edx, ebx
mov ebx, eax
shl ebx, 4
and ebx, 0xf00000
or edx, ebx
mov ebx, eax
shl eax, 2
shr ebx, 6
and eax, 0xfc000000
and ebx, 0x3000000
or edx, ebx
or edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x68], edx
mov esi, eax
mov ebx, eax
shl esi, 6
shr ebx, 2
and esi, 0xc000
and ebx, 0x3f00
or ebx, esi
movzx esi, al
or ebx, esi
mov esi, eax
shr esi, 4
and esi, 0xf0000
or ebx, esi
mov esi, eax
shl esi, 4
and esi, 0xf00000
or ebx, esi
mov esi, eax
shl eax, 2
shr esi, 6
and eax, 0xfc000000
and esi, 0x3000000
or esi, ebx
mov ebx, dword [esp + 0x70]
or esi, eax
mov dword [esp + 0x6c], esi
mov eax, ebx
mov edi, esi
mov esi, ebx
shr esi, 2
shl eax, 6
and esi, 0x3f00
and eax, 0xc000
or eax, esi
movzx esi, bl
or eax, esi
mov esi, ebx
shr esi, 4
and esi, 0xf0000
or eax, esi
mov esi, ebx
shl esi, 4
and esi, 0xf00000
or eax, esi
mov esi, ebx
shl ebx, 2
shr esi, 6
and ebx, 0xfc000000
and esi, 0x3000000
or esi, eax
mov eax, dword [esp + 0x74]
or esi, ebx
mov dword [esp + 0x70], esi
mov ebx, eax
mov ebp, esi
mov esi, eax
shl esi, 6
shr ebx, 2
and esi, 0xc000
and ebx, 0x3f00
or ebx, esi
movzx esi, al
or ebx, esi
mov esi, eax
shr esi, 4
and esi, 0xf0000
or ebx, esi
mov esi, eax
shl esi, 4
and esi, 0xf00000
or ebx, esi
mov esi, eax
shl eax, 2
shr esi, 6
and eax, 0xfc000000
and esi, 0x3000000
or esi, ebx
or esi, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x20], esi
mov ebx, eax
mov dword [esp + 0x74], esi
mov esi, eax
shr esi, 2
shl ebx, 6
and esi, 0x3f00
and ebx, 0xc000
or ebx, esi
movzx esi, al
or ebx, esi
mov esi, eax
shr esi, 4
and esi, 0xf0000
or ebx, esi
mov esi, eax
shl esi, 4
and esi, 0xf00000
or ebx, esi
mov esi, eax
shl eax, 2
shr esi, 6
and eax, 0xfc000000
and esi, 0x3000000
or esi, ebx
or esi, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x24], esi
mov dword [esp + 0x78], esi
mov esi, eax
mov ebx, eax
shr esi, 2
and esi, 0x3f00
shl ebx, 6
and ebx, 0xc000
or ebx, esi
movzx esi, al
or ebx, esi
mov esi, eax
shr esi, 4
and esi, 0xf0000
or ebx, esi
mov esi, eax
shl esi, 4
and esi, 0xf00000
or ebx, esi
mov esi, eax
shl eax, 2
shr esi, 6
and eax, 0xfc000000
and esi, 0x3000000
or esi, ebx
mov ebx, dword [esp + 0x58]
or eax, esi
shl ebx, 3
mov dword [esp + 0x18], eax
mov dword [esp + 0x7c], eax
cmp ebx, 0x77
ja 0x4301d8
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x1c]
xor edx, dword [esi + ebx*4 + 8]
xor eax, dword [esi + ebx*4]
xor ebp, dword [esi + ebx*4 + 0x10]
xor ecx, dword [esi + ebx*4 + 4]
mov dword [esp + 0x28], edx
mov edx, dword [esi + ebx*4 + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
xor edx, edi
mov edi, esi
mov esi, dword [esp + 0x20]
xor eax, dword [edi + ebx*4 + 0x18]
xor esi, dword [edi + ebx*4 + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
xor eax, dword [edi + ebx*4 + 0x1c]
mov edi, dword [esp + 0x1c]
lea ebx, [ecx + ecx]
and ecx, 0xaaaaaaaa
and ebx, 0xaaaaaaaa
and edi, 0x55555555
or ebx, edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
shr ebx, 1
and ebx, 0x55555555
or ebx, ecx
mov ecx, edi
mov dword [esp + 0x1c], ebx
lea ebx, [edx + edx]
and ecx, 0x55555555
and edx, 0xaaaaaaaa
and ebx, 0xaaaaaaaa
or ecx, ebx
mov ebx, edi
shr ebx, 1
and ebx, 0x55555555
mov edi, ebx
mov ebx, ebp
shr ebp, 1
or edi, edx
lea edx, [esi + esi]
and ebx, 0x55555555
and esi, 0xaaaaaaaa
and edx, 0xaaaaaaaa
or edx, ebx
mov dword [esp + 0x24], edx
mov edx, ebp
and edx, 0x55555555
mov ebp, edx
lea edx, [eax + eax]
or ebp, esi
mov esi, dword [esp + 0x20]
and edx, 0xaaaaaaaa
mov ebx, esi
and ebx, 0x55555555
or edx, ebx
mov ebx, esi
mov esi, dword [esp + 0x18]
shr ebx, 1
and eax, 0xaaaaaaaa
and ebx, 0x55555555
and esi, 0x33333333
or eax, ebx
lea ebx, [ecx*4]
and ecx, 0xcccccccc
and ebx, 0xcccccccc
or esi, ebx
mov ebx, dword [esp + 0x18]
shr ebx, 2
and ebx, 0x33333333
or ebx, ecx
lea ecx, [edi*4]
and edi, 0xcccccccc
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x1c]
and ecx, 0xcccccccc
and ebx, 0x33333333
or ecx, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
shr ebx, 2
mov ecx, ebx
and ecx, 0x33333333
mov ebx, ecx
or ebx, edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x1c], ebx
lea ebx, [edx*4]
and edx, 0xcccccccc
mov ecx, edi
and ebx, 0xcccccccc
and ecx, 0x33333333
or ecx, ebx
mov ebx, edi
shr ebx, 2
and ebx, 0x33333333
mov edi, ebx
lea ebx, [eax*4]
and eax, 0xcccccccc
or edi, edx
mov edx, ebp
and ebx, 0xcccccccc
shr ebp, 2
and edx, 0x33333333
or edx, ebx
mov ebx, ebp
and ebx, 0x33333333
mov ebp, ebx
or ebp, eax
mov eax, ecx
shl eax, 4
and ecx, 0xf0f0f0f0
mov ebx, eax
mov eax, esi
and eax, 0xf0f0f0f
and ebx, 0xf0f0f0f0
or ebx, eax
mov eax, esi
shr eax, 4
mov dword [esp + 0x60], ebx
and eax, 0xf0f0f0f
or eax, ecx
mov ecx, edx
and edx, 0xf0f0f0f0
mov dword [esp + 0x70], eax
mov esi, dword [esp + 0x18]
shl ecx, 4
and ecx, 0xf0f0f0f0
and esi, 0xf0f0f0f
or ecx, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x18]
shr ecx, 4
and ecx, 0xf0f0f0f
or ecx, edx
mov edx, esi
shr esi, 4
mov dword [esp + 0x74], ecx
mov ecx, edi
and edx, 0xf0f0f0f
and edi, 0xf0f0f0f0
shl ecx, 4
and ecx, 0xf0f0f0f0
or ecx, edx
mov edx, esi
mov esi, ebp
and ebp, 0xf0f0f0f0
and edx, 0xf0f0f0f
shl esi, 4
mov dword [esp + 0x68], ecx
or edx, edi
mov edi, dword [esp + 0x1c]
and esi, 0xf0f0f0f0
mov dword [esp + 0x78], edx
and edi, 0xf0f0f0f
or esi, edi
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x1c]
shr esi, 4
and esi, 0xf0f0f0f
or esi, ebp
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0xa8]
test esi, esi
jle 0x43020c
mov esi, dword [esp + 0xa4]
cmp dword [esp + 0xa8], 4
mov dword [esi], ebx
jle 0x43024a
mov ebx, dword [esp + 0xa4]
cmp dword [esp + 0xa8], 8
mov dword [ebx + 4], ecx
jle 0x43022b
mov ebx, dword [esp + 0xa4]
cmp dword [esp + 0xa8], 0xc
mov dword [ebx + 8], eax
jle 0x4301ed
mov eax, dword [esp + 0xa4]
mov dword [eax + 0xc], edx
jmp 0x42fb79
mov dword [esp + 4], 0x77
mov dword [esp], ebx
call fcn.0040b140
jmp 0x42fb79
mov eax, dword [esp + 0xa8]
mov dword [esp], 0xc
sub eax, 1
mov dword [esp + 4], eax
call fcn.0040b140
jmp 0x42fb79
mov eax, dword [esp + 0xa8]
mov dword [esp], 0
sub eax, 1
mov dword [esp + 4], eax
call fcn.0040b140
jmp 0x42fb79
mov eax, dword [esp + 0xa8]
mov dword [esp], 8
sub eax, 1
mov dword [esp + 4], eax
call fcn.0040b140
jmp 0x42fb79
mov eax, dword [esp + 0xa8]
mov dword [esp], 4
sub eax, 1
mov dword [esp + 4], eax
call fcn.0040b140
jmp 0x42fb79