Function at 0x42fa10
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov esi, ecx
mov ebp, dword [ecx + 0x34]
mov ebx, dword [ecx + 4]
mov eax, 2
cmp dword [ecx + 0x14], 0x1c
jb 0x43006c
lea eax, [esi + 8]
mov dword [esp + 0x20], eax
push eax
call fcn.00553b90
add esp, 4
mov eax, dword [esi]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x42fa4b
mov dword [esp], esi
jmp dword [eax*4 + 0x869528]
mov eax, 0xffffffe1
jmp 0x430072
mov ecx, esi
call fcn.00431920
nop word cs:[eax + eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 0x1c
jb 0x42fbe1
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x42fa5c
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
mov ebp, dword [esi + 0x68]
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
cmp eax, 0x10
jb 0x42facb
mov ebx, ecx
mov ecx, edi
shr ecx, 0x10
mov dword [esi + 8], ecx
xor eax, 0x10
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x10]
movzx edx, word [ecx]
shrd edi, edx, 0x10
mov dword [esi + 8], edi
add ebx, 0xfffffffe
mov dword [esp + 8], ebx
mov dword [esi + 0x14], ebx
add ecx, 2
mov dword [esi + 0x10], ecx
jmp 0x42facf
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov edx, edi
mov ecx, eax
shr edx, cl
movzx edi, dl
lea ebx, [edi*4]
add ebx, ebp
movzx ecx, byte [ebp + edi*4]
cmp ecx, 9
jb 0x42fb13
add eax, 8
mov dword [esi + 0xc], eax
movzx esi, word [ebp + edi*4 + 2]
shr edx, 8
mov edi, dword [0x86ae18]
and edx, dword [edi + ecx*4 - 0x20]
add edx, esi
mov esi, dword [esp]
movzx ecx, byte [ebx + edx*4]
lea ebx, [ebx + edx*4]
mov ebp, dword [esp + 0xc]
movzx ecx, cl
add ecx, eax
mov dword [esi + 0xc], ecx
movzx edx, word [ebx + 2]
movzx ebx, byte [edx*8 + 0x869784]
movzx eax, byte [edx*8 + 0x869785]
mov dword [esp + 0xc], eax
movsx esi, byte [edx*8 + 0x869786]
movzx edi, byte [edx*8 + 0x869787]
movzx eax, word [edx*8 + 0x869788]
mov dword [esp + 0x24], eax
movzx eax, word [edx*8 + 0x86978a]
mov edx, dword [esp]
mov dword [edx + 0x10c], esi
mov esi, dword [esp]
mov dword [esi + 0xb4], edi
mov edx, dword [esi + 0x74]
movzx edx, byte [edx + edi]
mov byte [esi + 0x104], dl
mov edx, ebx
xor ebx, ebx
test edx, edx
mov dword [esp + 0x18], eax
jne 0x42fbec
mov edi, dword [esp + 4]
cmp byte [esp + 0xc], 0x10
ja 0x42fc54
cmp ecx, 0x10
jb 0x42fbc8
mov edx, edi
shr edx, 0x10
mov dword [esi + 8], edx
xor ecx, 0x10
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
movzx esi, word [edx]
shrd edi, esi, 0x10
mov esi, dword [esp]
mov dword [esi + 8], edi
mov eax, dword [esp + 8]
add eax, 0xfffffffe
mov dword [esi + 0x14], eax
add edx, 2
mov dword [esi + 0x10], edx
mov edx, dword [0x86ae18]
shr edi, cl
mov eax, dword [esp + 0xc]
and edi, dword [edx + eax*4]
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x42fcec
mov dword [esi], 7
jmp 0x430067
cmp dl, 0x10
mov edi, dword [esp + 4]
mov dword [esp + 0x14], edx
ja 0x430556
cmp ecx, 0x10
jb 0x42fc34
mov edx, edi
shr edx, 0x10
mov dword [esi + 8], edx
xor ecx, 0x10
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
movzx esi, word [edx]
shrd edi, esi, 0x10
mov esi, dword [esp]
mov dword [esi + 8], edi
mov ebx, dword [esp + 8]
add ebx, 0xfffffffe
mov dword [esp + 8], ebx
mov dword [esi + 0x14], ebx
add edx, 2
mov dword [esi + 0x10], edx
mov ebx, edi
shr ebx, cl
mov edx, dword [0x86ae18]
mov eax, dword [esp + 0x14]
and ebx, dword [edx + eax*4]
add ecx, dword [esp + 0x14]
cmp byte [esp + 0xc], 0x10
jbe 0x42fb95
cmp ecx, 0x10
mov dword [esp + 4], ebx
jb 0x42fc8f
mov edx, edi
shr edx, 0x10
mov dword [esi + 8], edx
xor ecx, 0x10
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
movzx esi, word [edx]
shrd edi, esi, 0x10
mov esi, dword [esp]
mov dword [esi + 8], edi
mov eax, dword [esp + 8]
add eax, 0xfffffffe
mov dword [esp + 8], eax
mov dword [esi + 0x14], eax
add edx, 2
mov dword [esi + 0x10], edx
mov edx, edi
shr edx, cl
movzx ebx, dx
add ecx, 0x10
cmp ecx, 0x18
jb 0x42fccb
mov edx, edi
shr edx, 0x18
mov dword [esi + 8], edx
xor ecx, 0x18
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
mov esi, dword [edx]
shrd edi, esi, 0x18
mov esi, dword [esp]
mov dword [esi + 8], edi
mov eax, dword [esp + 8]
add eax, 0xfffffffd
mov dword [esi + 0x14], eax
add edx, 3
mov dword [esi + 0x10], edx
shr edi, cl
mov edx, dword [0x86ae18]
mov eax, dword [esp + 0xc]
and edi, dword [edx + eax*4 - 0x40]
add eax, ecx
add eax, 0xfffffff0
mov dword [esi + 0xc], eax
shl edi, 0x10
or edi, ebx
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0x18]
add edi, eax
mov dword [esi + 0x108], edi
mov eax, dword [esp + 0x10]
dec eax
mov dword [esi + 0xc4], eax
add ebx, dword [esp + 0x24]
je case.0x42fa4b.9
sub dword [esi + 0xb8], ebx
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x42ff10
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
cmp ecx, 0x18
jb 0x42fd53
mov edx, eax
shr edx, 0x18
mov dword [esi + 8], edx
xor ecx, 0x18
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
mov esi, dword [edx]
shrd eax, esi, 0x18
mov esi, dword [esp]
mov dword [esi + 8], eax
add dword [esi + 0x14], 0xfffffffd
add edx, 3
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x100]
shr eax, cl
movzx ecx, al
movzx eax, byte [edx + ecx*4]
movzx edx, word [edx + ecx*4 + 2]
neg ebx
mov dword [esp + 4], ebx
nop dword [eax]
cmp dword [esi + 0x14], 0x1b
jbe 0x43005b
cmp dword [esi + 0xc0], 0
je 0x42fe10
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x100]
mov dword [esp + 0xc], edi
movzx edi, al
cmp al, 9
jae 0x42fe73
add ecx, edi
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 8]
mov ebx, edx
cmp ecx, 0x18
jb 0x42fdd5
mov edx, eax
shr edx, 0x18
mov dword [esi + 8], edx
xor ecx, 0x18
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
mov esi, dword [edx]
shrd eax, esi, 0x18
mov esi, dword [esp]
mov dword [esi + 8], eax
add dword [esi + 0x14], 0xfffffffd
add edx, 3
mov dword [esi + 0x10], edx
shr eax, cl
movzx ecx, al
mov edx, dword [esp + 0xc]
movzx eax, byte [edx + ecx*4]
movzx edx, word [edx + ecx*4 + 2]
mov ecx, dword [esi + 0x60]
mov byte [ecx + ebp], bl
dec dword [esi + 0xc0]
lea ecx, [ebp + 1]
cmp ecx, dword [esi + 0x40]
je 0x43053f
mov ebp, ecx
inc dword [esp + 4]
jne 0x42fd70
jmp 0x43007a
mov ecx, esi
call fcn.00431f00
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
cmp ecx, 0x18
jb 0x42fe49
mov edx, eax
shr edx, 0x18
mov dword [esi + 8], edx
xor ecx, 0x18
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
mov esi, dword [edx]
shrd eax, esi, 0x18
mov esi, dword [esp]
mov dword [esi + 8], eax
add dword [esi + 0x14], 0xfffffffd
add edx, 3
mov dword [esi + 0x10], edx
cmp dword [esi + 0xb0], 0
je 0x43004e
shr eax, cl
mov edi, dword [esi + 0x100]
movzx eax, al
movzx edx, word [edi + eax*4 + 2]
mov dword [esp + 0xc], edi
movzx eax, byte [edi + eax*4]
jmp 0x42fd94
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
cmp ecx, 0x10
jb 0x42fea8
mov ebx, esi
mov esi, eax
shr esi, 0x10
mov dword [ebx + 8], esi
xor ecx, 0x10
mov dword [ebx + 0xc], ecx
mov esi, dword [ebx + 0x10]
movzx ebx, word [esi]
shrd eax, ebx, 0x10
mov ebx, dword [esp]
mov dword [ebx + 8], eax
add dword [ebx + 0x14], 0xfffffffe
add esi, 2
mov dword [ebx + 0x10], esi
movzx edx, dx
mov dword [esp + 8], edx
mov edx, eax
shr edx, cl
movzx ebx, dl
mov esi, dword [esp + 0xc]
lea ebx, [esi + ebx*4]
mov esi, dword [esp + 8]
lea esi, [ebx + esi*4]
mov dword [esp + 8], esi
lea ebx, [ecx + 8]
mov esi, dword [esp]
mov dword [esi + 0xc], ebx
shr edx, 8
mov ebx, dword [0x86ae18]
and edx, dword [ebx + edi*4 - 0x20]
mov ebx, dword [esp + 8]
movzx edi, byte [ebx + edx*4]
add ecx, edi
add ecx, 8
mov dword [esi + 0xc], ecx
movzx ebx, word [ebx + edx*4 + 2]
cmp ecx, 0x18
jae 0x42fdae
jmp 0x42fdd5
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x60]
lea eax, [ebp - 1]
and eax, ecx
movzx eax, byte [edx + eax]
lea esi, [ebp - 2]
and esi, ecx
mov ecx, ebx
movzx ebx, byte [edx + esi]
mov esi, dword [esp]
neg ecx
mov dword [esp + 4], ecx
nop word cs:[eax + eax]
cmp dword [esi + 0x14], 0x1b
jbe 0x43005b
mov bh, al
cmp dword [esi + 0xc0], 0
je 0x43002e
mov eax, dword [esi + 0x6c]
movzx ecx, bh
movzx edx, bl
movzx edx, byte [eax + edx + 0x100]
or dl, byte [eax + ecx]
movzx eax, dl
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x70]
movzx eax, byte [edx + eax]
mov edx, dword [ecx + eax*4]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
cmp ecx, 0x10
mov dword [esp + 0xc], ebp
mov byte [esp + 8], bh
jb 0x42ffb7
mov ebx, esi
mov esi, eax
shr esi, 0x10
mov dword [ebx + 8], esi
xor ecx, 0x10
mov dword [ebx + 0xc], ecx
mov esi, dword [ebx + 0x10]
movzx edi, word [esi]
shrd eax, edi, 0x10
mov dword [ebx + 8], eax
add dword [ebx + 0x14], 0xfffffffe
add esi, 2
mov dword [ebx + 0x10], esi
shr eax, cl
movzx ebp, al
lea edi, [edx + ebp*4]
movzx ebx, byte [edx + ebp*4]
cmp ebx, 9
jb 0x42fff0
add ecx, 8
mov esi, dword [esp]
mov dword [esi + 0xc], ecx
movzx edx, word [edx + ebp*4 + 2]
shr eax, 8
mov ebp, dword [0x86ae18]
and eax, dword [ebp + ebx*4 - 0x20]
add eax, edx
movzx ebx, byte [edi + eax*4]
lea edi, [edi + eax*4]
jmp 0x42fff3
mov esi, dword [esp]
movzx eax, bl
add eax, ecx
mov dword [esi + 0xc], eax
movzx eax, byte [edi + 2]
mov ecx, dword [esi + 0x60]
mov ebp, dword [esp + 0xc]
mov byte [ecx + ebp], al
dec dword [esi + 0xc0]
lea ecx, [ebp + 1]
cmp ecx, dword [esi + 0x40]
je 0x43053f
movzx ebx, byte [esp + 8]
mov ebp, ecx
inc dword [esp + 4]
jne 0x42ff40
jmp 0x43007a
mov ecx, esi
call fcn.00431f00
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x42ff59
mov ebx, dword [esp + 4]
neg ebx
jmp 0x42fd19
mov ebx, dword [esp + 4]
neg ebx
xor eax, eax
jmp 0x42fd19
mov dword [esi], 8
mov ebx, dword [esp + 4]
neg ebx
mov eax, 2
mov dword [esi + 0x34], ebp
mov dword [esi + 4], ebx
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esi + 0xb8], 0
jle 0x4305fc
mov ebp, ecx
cmp dword [esi + 0x10c], 0
js 0x4300b7
sete al
movzx edx, al
mov dword [esi + 0xb4], edx
mov eax, dword [esi + 0x48]
dec eax
mov dword [esi + 0x48], eax
and eax, 3
mov edi, dword [esi + eax*4 + 0x4c]
mov dword [esi + 0x10c], edi
jmp 0x43031a
cmp dword [esi + 0xc8], 0
je 0x43061a
mov eax, dword [esi + 0x98]
movzx ecx, byte [esi + 0x104]
mov ebx, dword [eax + ecx*4]
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
cmp eax, 0x10
mov dword [esp + 0xc], ebp
jb 0x430108
mov ecx, edi
shr ecx, 0x10
mov dword [esi + 8], ecx
xor eax, 0x10
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x10]
movzx edx, word [ecx]
shrd edi, edx, 0x10
mov dword [esi + 8], edi
add dword [esi + 0x14], 0xfffffffe
add ecx, 2
mov dword [esi + 0x10], ecx
mov edx, edi
mov ecx, eax
shr edx, cl
movzx ebp, dl
lea ecx, [ebx + ebp*4]
mov dword [esp + 4], ecx
movzx ecx, byte [ebx + ebp*4]
cmp ecx, 9
jb 0x43014f
add eax, 8
mov dword [esi + 0xc], eax
movzx esi, word [ebx + ebp*4 + 2]
shr edx, 8
mov ebp, dword [0x86ae18]
and edx, dword [ebp + ecx*4 - 0x20]
add edx, esi
mov esi, dword [esp]
mov ebx, dword [esp + 4]
movzx ecx, byte [ebx + edx*4]
lea ebx, [ebx + edx*4]
mov ebp, dword [esp + 0xc]
jmp 0x430157
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 4]
movzx ecx, cl
add ecx, eax
mov dword [esi + 0xc], ecx
movzx eax, word [ebx + 2]
dec dword [esi + 0xc8]
mov dword [esi + 0xb4], 0
cmp eax, 0xf
ja 0x4301b3
cmp ax, 3
ja 0x430206
mov edx, eax
not edx
mov ebx, 1
mov ecx, eax
shr ebx, cl
mov dword [esi + 0xb4], ebx
mov eax, dword [esi + 0x48]
add edx, eax
and edx, 3
mov edi, dword [esi + edx*4 + 0x4c]
mov edx, ebx
mov dword [esi + 0x10c], edi
sub eax, ebx
mov dword [esi + 0x48], eax
jmp 0x43031a
movzx ebx, byte [esi + eax + 0x270]
cmp ebx, 0x10
ja 0x43024d
cmp ecx, 0x10
jb 0x4301f1
mov edx, edi
shr edx, 0x10
mov dword [esi + 8], edx
xor ecx, 0x10
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
movzx esi, word [edx]
shrd edi, esi, 0x10
mov esi, dword [esp]
mov dword [esi + 8], edi
add dword [esi + 0x14], 0xfffffffe
add edx, 2
mov dword [esi + 0x10], edx
mov edx, dword [0x86ae18]
shr edi, cl
and edi, dword [edx + ebx*4]
add ecx, ebx
mov dword [esi + 0xc], ecx
jmp 0x430302
lea esi, [eax - 0xa]
mov ecx, eax
add ecx, 0xfffffffc
xor edx, edx
cmp ax, 0xa
setb dl
cmovae ecx, esi
mov esi, dword [esp]
shl ecx, 2
mov eax, 0x605142
shr eax, cl
and eax, 0xf
mov ecx, dword [esi + 0x48]
add ecx, edx
add ecx, 2
and ecx, 3
mov ecx, dword [esi + ecx*4 + 0x4c]
add eax, ecx
add eax, 0xfffffffd
test eax, eax
mov edi, 0x7fffffff
cmovg edi, eax
jmp 0x430312
mov dword [esp + 4], ebx
mov edx, edi
cmp ecx, 0xf
jbe 0x43029f
shr edx, 0x10
mov dword [esi + 8], edx
xor ecx, 0x10
mov dword [esi + 0xc], ecx
mov ebp, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
movzx esi, word [ebp]
shrd edi, esi, 0x10
mov esi, dword [esp]
mov dword [esi + 8], edi
add edx, 0xfffffffe
mov esi, dword [esp]
mov dword [esi + 0x14], edx
mov esi, edi
shr esi, cl
add ebp, 2
mov ebx, dword [esp]
mov dword [ebx + 0x10], ebp
movzx esi, si
mov dword [esp + 8], esi
mov esi, dword [esp]
sub ecx, 0xfffffff0
jb 0x4302b1
jmp 0x4302df
shr edx, cl
movzx edx, dx
mov dword [esp + 8], edx
add ecx, 0x10
mov ebp, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov esi, edi
shr esi, 0x10
mov ebx, dword [esp]
mov dword [ebx + 8], esi
xor ecx, 0x10
mov esi, dword [esp]
mov dword [esi + 0xc], ecx
movzx esi, word [ebp]
shrd edi, esi, 0x10
mov esi, dword [esp]
mov dword [esi + 8], edi
add edx, 0xfffffffe
mov dword [esi + 0x14], edx
add ebp, 2
mov dword [esi + 0x10], ebp
shr edi, cl
mov edx, dword [0x86ae18]
mov ebx, dword [esp + 4]
and edi, dword [edx + ebx*4 - 0x40]
add ecx, ebx
add ecx, 0xfffffff0
mov dword [esi + 0xc], ecx
shl edi, 0x10
add edi, dword [esp + 8]
mov ebp, dword [esp + 0xc]
movzx ecx, byte [esi + 0xf0]
shl edi, cl
add edi, dword [esi + eax*4 + 0x490]
mov dword [esi + 0x10c], edi
xor edx, edx
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
cmp eax, ecx
je 0x43032e
cmp ebp, ecx
cmovl ecx, ebp
mov dword [esi + 0x3c], ecx
mov eax, ecx
mov ebx, dword [esi + 0x108]
cmp edi, eax
mov dword [esp + 4], ebx
jle 0x4303d7
cmp edi, 0x7ffffffc
jg 0x430519
lea ecx, [ebx - 4]
cmp ecx, 0x14
ja 0x430523
not eax
add edi, eax
mov eax, dword [esi + 0x248]
movzx ecx, byte [eax + ebx]
mov dword [esp + 8], edx
mov edx, dword [0x86ae18]
mov edx, dword [edx + ecx*4]
and edx, edi
imul edx, ebx
add edx, dword [eax + ebx*4 + 0x20]
mov ebx, dword [esi + 0x24c]
mov dword [esp + 0x10], ebx
mov ebx, edi
mov edi, dword [esp + 8]
add dword [esi + 0x48], edi
mov edi, ebx
sar edi, cl
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x430610
mov ebx, dword [esp + 0x10]
cmp edi, dword [ebx + 0xc]
jge 0x43052d
add eax, edx
movsx edx, word [ebx + 0x18]
mov ecx, dword [esi + 0x60]
add ecx, ebp
cmp edi, edx
jne 0x4304c8
mov ebx, dword [esp + 4]
push ebx
push eax
push ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, ebx
jmp 0x4304d9
mov edx, ebp
sub edx, edi
and edx, dword [esi + 0x44]
mov eax, dword [esp]
mov esi, dword [eax + 0x48]
mov eax, dword [esp]
mov ebx, dword [eax + 0x60]
mov eax, esi
and eax, 3
mov ecx, dword [esp]
mov dword [ecx + eax*4 + 0x4c], edi
lea eax, [ebx + ebp]
mov dword [esp + 0x10], eax
lea eax, [ebx + edx]
mov dword [esp + 8], eax
inc esi
mov edi, dword [esp]
mov dword [edi + 0x48], esi
mov esi, dword [esp]
mov eax, dword [esp + 4]
lea edi, [eax + ebp]
sub dword [esi + 0xb8], eax
movups xmm0, xmmword [ebx + edx]
movups xmmword [ebx + ebp], xmm0
mov ecx, eax
lea ebx, [edx + eax]
cmp ebx, ebp
jle 0x430430
cmp edi, edx
jg 0x430479
mov edx, dword [esi + 0x40]
cmp edi, edx
jge 0x430479
cmp ebx, edx
jge 0x430479
mov ebx, ecx
cmp ecx, 0x11
jl 0x4304e8
mov ecx, dword [esp + 0x10]
add ecx, 0x10
mov eax, dword [esp + 8]
add eax, 0x10
cmp ebx, 0x21
jb 0x4304f8
lea edx, [ebx - 0x10]
push edx
push eax
push ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
cmp dword [esi + 0xb8], 0
jg 0x4304f1
jmp 0x430507
mov ebx, ecx
mov eax, dword [esi + 0x40]
mov ecx, ebx
mov ebx, ecx
test ecx, ecx
jle 0x4304af
mov ecx, ebp
sub ecx, dword [esi + 0x10c]
mov edx, dword [esi + 0x60]
and ecx, dword [esi + 0x44]
movzx ecx, byte [edx + ecx]
mov byte [edx + ebp], cl
inc ebp
lea ecx, [ebx - 1]
cmp eax, ebp
jne 0x430480
mov dword [esi], 0x10
dec ebx
jmp 0x43054c
dec ebx
cmp dword [esi + 0xb8], 0
jg case.0x42fa4b.7
mov dword [esi], 0xe
jmp 0x43054c
push edi
push ebx
mov ebx, dword [esp + 0xc]
push ebx
push eax
push ecx
call fcn.00554840
add esp, 0x14
sub dword [esi + 0xb8], eax
add ebp, eax
cmp ebp, dword [esi + 0x40]
jge 0x430537
mov edi, ebp
cmp dword [esi + 0xb8], 0
jle 0x430507
mov ebp, edi
jmp case.0x42fa4b.7
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
cmp dword [esi + 0xb8], 0
jg 0x4304f1
mov dword [esi], 0xe
mov eax, 1
mov ebp, edi
jmp 0x43006c
mov eax, 0xfffffff0
jmp 0x430072
mov eax, 0xfffffff4
jmp 0x430072
mov eax, 0xfffffff5
jmp 0x430072
mov dword [esi], 0xf
jmp 0x43054c
mov dword [esi], 0xd
mov ebx, dword [esp + 4]
not ebx
inc ebp
mov eax, 1
jmp 0x43006c
cmp ecx, 0x10
jb 0x43058d
mov edx, edi
shr edx, 0x10
mov dword [esi + 8], edx
xor ecx, 0x10
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
movzx esi, word [edx]
shrd edi, esi, 0x10
mov esi, dword [esp]
mov dword [esi + 8], edi
mov ebx, dword [esp + 8]
add ebx, 0xfffffffe
mov dword [esp + 8], ebx
mov dword [esi + 0x14], ebx
add edx, 2
mov dword [esi + 0x10], edx
mov edx, edi
shr edx, cl
movzx edx, dx
mov dword [esp + 0x1c], edx
add ecx, 0x10
cmp ecx, 0x18
jb 0x4305d1
mov edx, edi
shr edx, 0x18
mov dword [esi + 8], edx
xor ecx, 0x18
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
mov esi, dword [edx]
shrd edi, esi, 0x18
mov esi, dword [esp]
mov dword [esi + 8], edi
mov ebx, dword [esp + 8]
add ebx, 0xfffffffd
mov dword [esp + 8], ebx
mov dword [esi + 0x14], ebx
add edx, 3
mov dword [esi + 0x10], edx
mov dword [esp + 4], edi
mov edi, dword [esp + 4]
shr edi, cl
mov edx, dword [0x86ae18]
mov ebx, dword [esp + 0x14]
and edi, dword [edx + ebx*4 - 0x40]
add ecx, ebx
add ecx, 0xfffffff0
shl edi, 0x10
add edi, dword [esp + 0x1c]
mov ebx, edi
jmp 0x42fb86
mov dword [esi], 0xe
mov eax, 1
xor ebx, ebx
mov ebp, ecx
jmp 0x43006c
mov eax, 0xffffffed
jmp 0x430072
mov ecx, esi
call fcn.00432500
jmp 0x4300c4