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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov eax, ecx
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x278]
cmp ecx, 5
ja case.default.0x59fe5a
mov esi, edx
lea edx, [edi + 8]
mov dword [ebp - 0x24], edx
lea edx, [edi + 0x94a]
mov dword [ebp - 0x30], edx
lea ebx, [edi + 0x938]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x2c], ebx
jmp dword [ecx*4 + 0x7a6dcc]
mov ecx, dword [edi + 0xc]
lea edx, [ecx - 0x1f]
cmp edx, 2
jb 0x5a04f4
mov edx, dword [ebp - 0x24]
mov esi, dword [edx]
shr esi, cl
and esi, 3
mov dword [edi + 0x27c], esi
add ecx, 2
mov dword [edi + 0xc], ecx
cmp esi, 1
je 0x5a0400
mov dword [edi + 0x290], 0x20
mov dword [edi + 0x28c], 0
xorps xmm0, xmm0
movups xmmword [ebx + 0xe], xmm0
movups xmmword [ebx], xmm0
mov dword [edi + 0x278], 4
mov dword [ebp - 0x10], 0x20
mov dword [ebp - 0x18], 0
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0xc]
jmp 0x59ff53
mov esi, dword [edi + 0x27c]
mov eax, dword [edi + 0x28c]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x290]
mov dword [ebp - 0x10], eax
cmp esi, 0x11
jbe 0x59fec5
jmp 0x59ffa9
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov ecx, ebx
shr edx, cl
and edx, 0xf
movzx ecx, byte [edx + 0x7a5722]
mov eax, ebx
mov ebx, ecx
add ebx, eax
movzx ecx, byte [edx + 0x7a5732]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0xc], ebx
mov edi, dword [ebp - 0x14]
mov byte [eax + edi + 0x938], cl
mov eax, 0x1111
bt eax, edx
jb 0x59ff4d
mov eax, 0x20
mov edx, dword [ebp - 0x30]
inc word [edx + ecx*2]
shr eax, cl
mov ecx, dword [ebp - 0x10]
sub ecx, eax
inc dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
lea eax, [ecx - 0x21]
cmp eax, 0xffffffe0
jb 0x59ffa9
inc esi
cmp esi, 0x12
je 0x59ffa9
movzx eax, byte [esi + 0x7a5710]
mov dword [ebp - 0x14], eax
lea ecx, [ebx - 0x1d]
cmp ecx, 4
jae 0x59fef2
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x5a0892
mov ecx, eax
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov ecx, dword [ecx + 0x10]
mov edx, eax
shr edx, 8
mov eax, dword [ebp + 0x10]
mov dword [eax + 8], edx
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x20]
shld edx, eax, 0x18
mov eax, dword [ebp + 0x10]
mov dword [eax + 8], edx
dec edi
mov dword [eax + 0x14], edi
inc ecx
mov dword [eax + 0x10], ecx
add ebx, 0xfffffff8
jmp 0x59fef7
cmp dword [ebp - 0x18], 1
je 0x59ffb9
cmp dword [ebp - 0x10], 0
jne 0x5a0888
mov edi, dword [ebp + 0x10]
lea eax, [edi + 0x294]
mov esi, dword [ebp - 0x30]
push esi
push dword [ebp - 0x2c]
push eax
call fcn.005230e0
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [esi + 0x10], xmm0
movups xmmword [esi], xmm0
mov dword [edi + 0x8b8], 0xfffffff0
mov ecx, dword [edi + 0x314]
xor eax, eax
dec eax
mov word [ecx - 0x20], ax
mov dword [edi + 0x8bc], 0xfffffff1
mov ecx, dword [edi + 0x314]
mov word [ecx - 0x1e], ax
mov dword [edi + 0x8c0], 0xfffffff2
mov ecx, dword [edi + 0x314]
mov word [ecx - 0x1c], ax
mov dword [edi + 0x8c4], 0xfffffff3
mov ecx, dword [edi + 0x314]
mov word [ecx - 0x1a], ax
mov dword [edi + 0x8c8], 0xfffffff4
mov ecx, dword [edi + 0x314]
mov word [ecx - 0x18], ax
mov dword [edi + 0x8cc], 0xfffffff5
mov ecx, dword [edi + 0x314]
mov word [ecx - 0x16], ax
mov dword [edi + 0x8d0], 0xfffffff6
mov ecx, dword [edi + 0x314]
mov word [ecx - 0x14], ax
mov dword [edi + 0x8d4], 0xfffffff7
mov ecx, dword [edi + 0x314]
mov word [ecx - 0x12], ax
mov dword [edi + 0x8d8], 0xfffffff8
mov ecx, dword [edi + 0x314]
mov word [ecx - 0x10], ax
mov dword [edi + 0x8dc], 0xfffffff9
mov ecx, dword [edi + 0x314]
mov word [ecx - 0xe], ax
mov dword [edi + 0x8e0], 0xfffffffa
mov ecx, dword [edi + 0x314]
mov word [ecx - 0xc], ax
mov dword [edi + 0x8e4], 0xfffffffb
mov ecx, dword [edi + 0x314]
mov word [ecx - 0xa], ax
mov dword [edi + 0x8e8], 0xfffffffc
mov ecx, dword [edi + 0x314]
mov word [ecx - 8], ax
mov dword [edi + 0x8ec], 0xfffffffd
mov ecx, dword [edi + 0x314]
mov word [ecx - 6], ax
mov dword [edi + 0x8f0], 0xfffffffe
mov ecx, dword [edi + 0x314]
mov word [ecx - 4], ax
mov dword [edi + 0x8f4], 0xffffffff
mov ecx, dword [edi + 0x314]
mov word [ecx - 2], ax
movsd xmm0, qword [0x7a5700]
movups xmmword [edi + 0x280], xmm0
mov dword [edi + 0x290], 0x8000
mov dword [edi + 0x278], 5
mov dword [ebp - 0x10], 0x8000
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x28], 0
xor esi, esi
mov ebx, dword [ebp - 0x1c]
mov eax, dword [edi + 0x314]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x24]
call fcn.00523090
add esp, 4
test eax, eax
je 0x5a05bc
cmp esi, ebx
mov eax, dword [ebp - 0x10]
jae 0x5a033e
test eax, eax
je 0x5a033e
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x28]
jmp 0x5a0222
xor eax, eax
jmp 0x5a021a
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
jmp 0x5a0205
mov edx, dword [edi + 0x10]
movzx edi, word [edx]
shrd esi, edi, 0x10
mov edi, dword [ebp + 0x10]
mov dword [edi + 8], esi
add eax, 0xfffffffe
mov dword [edi + 0x14], eax
add edx, 2
mov dword [edi + 0x10], edx
xor ecx, 0x10
jmp 0x5a0243
test ecx, ecx
je 0x5a01a1
mov eax, 0x8000
shr eax, cl
mov edx, dword [edi + ecx*4 + 0x8b8]
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x2c]
mov word [ebx + edx*2], si
mov edx, dword [ebp - 0x10]
sub edx, eax
mov eax, edx
mov dword [edi + ecx*4 + 0x8b8], esi
inc word [edi + ecx*2 + 0x94a]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
inc esi
xor ebx, ebx
mov dword [ebp - 0x10], eax
test eax, eax
setne al
cmp esi, edx
jae 0x5a019d
test al, al
je 0x5a033e
mov dword [ebp - 0x14], esi
mov eax, dword [edi + 0x14]
cmp eax, 1
jbe 0x5a05c7
mov dword [ebp - 0x18], ecx
mov esi, dword [edi + 8]
mov ecx, dword [edi + 0xc]
cmp ecx, 0x10
jae 0x5a01a9
mov edx, esi
shr edx, cl
and edx, 0x1f
movzx eax, byte [edi + edx*4 + 0x294]
add eax, ecx
mov dword [edi + 0xc], eax
movzx ecx, word [edi + edx*4 + 0x296]
cmp ecx, 0xf
jbe 0x5a01d0
xor edx, edx
cmp ecx, 0x10
sete dl
mov dword [ebp - 0x28], ebx
mov ebx, 0
cmove ebx, dword [ebp - 0x20]
mov ecx, eax
shr esi, cl
xor edx, 3
and esi, dword [edx*4 + 0x7aa210]
add eax, edx
mov dword [edi + 0xc], eax
cmp dword [ebp - 0x18], ebx
mov eax, 0
mov ecx, dword [ebp - 0x28]
cmovne ecx, eax
lea edi, [ecx - 2]
mov eax, ecx
mov ecx, edx
shl edi, cl
or edi, 3
mov ecx, eax
test eax, eax
mov eax, 3
cmove edi, eax
lea eax, [edi + esi]
mov dword [ebp - 0x18], eax
mov edx, ecx
sub eax, ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x1c]
ja 0x5a085d
xor ecx, ecx
test ebx, ebx
je 0x5a032a
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + ebx*4 + 0x8b8]
add edi, esi
sub edi, edx
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
nop word [eax + eax]
mov word [edx + ecx*2], si
mov ecx, esi
inc esi
dec edi
jne 0x5a02f0
dec esi
mov edi, dword [ebp + 0x10]
mov dword [edi + ebx*4 + 0x8b8], esi
mov cl, 0xf
sub cl, bl
add word [edi + ebx*2 + 0x94a], ax
shl eax, cl
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov eax, ecx
mov esi, dword [ebp - 0x28]
mov ecx, ebx
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
jmp 0x5a020e
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
jmp 0x5a020e
mov eax, dword [ebp - 0x10]
mov dword [edi + 0x290], eax
test eax, eax
jne 0x5a087e
push dword [ebp - 0x30]
push dword [edi + 0x314]
push 8
push dword [ebp + 8]
call fcn.005c0af0
add esp, 0x10
mov ecx, eax
xor eax, eax
inc eax
xor edx, edx
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x5a0375
mov dword [esi], ecx
mov dword [edi + 0x278], edx
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
test ebx, ebx
je case.0x59fe5a.3
xor eax, eax
mov ecx, 0x18d
movzx edx, word [edi + eax*2 + 0x318]
inc eax
mov esi, ecx
cmp dx, word [edi + esi*2]
je 0x5a08e9
lea edi, [esi + 1]
add esi, 0xfffffe75
cmp esi, ebx
mov esi, edi
mov edi, dword [ebp + 0x10]
jbe 0x5a0399
inc ecx
cmp eax, ebx
jne 0x5a038e
mov edx, dword [edi + 0x288]
cmp edx, 3
je 0x5a03d9
lea eax, [edi + 0x318]
push edx
push eax
push 8
push dword [ebp + 8]
call fcn.005234d0
jmp 0x5a0362
mov ecx, dword [edi + 0xc]
cmp ecx, 0x20
je 0x5a0587
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
lea edx, [ecx + 1]
mov dword [edi + 0xc], edx
xor edx, edx
bt eax, ecx
adc edx, 3
mov dword [edi + 0x288], edx
jmp 0x5a03c5
lea edx, [ecx - 0x1f]
cmp edx, 2
jb 0x5a053f
mov edx, dword [ebp - 0x24]
mov edx, dword [edx]
shr edx, cl
and edx, 3
mov dword [edi + 0x288], edx
add ecx, 2
mov dword [edi + 0xc], ecx
mov dword [edi + 0x27c], 0
dec eax
bsr ecx, eax
xor ecx, 0xffffffe0
add ecx, 0x21
test eax, eax
cmove ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, dword [edi + 0x27c]
mov ebx, dword [edi + 0x288]
cmp esi, ebx
ja 0x5a0383
mov dword [ebp - 0x18], ebx
jmp 0x5a048a
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
shr ebx, cl
mov eax, dword [ebp - 0x14]
and ebx, dword [eax*4 + 0x7aa210]
add ecx, eax
mov dword [edi + 0xc], ecx
cmp ebx, dword [ebp - 0x1c]
jae 0x5a08df
mov word [edi + esi*2 + 0x318], bx
inc esi
mov ebx, dword [ebp - 0x18]
cmp esi, ebx
ja 0x5a0383
mov ecx, dword [edi + 0xc]
mov edx, 0x20
sub edx, ecx
cmp edx, dword [ebp - 0x14]
jae 0x5a0457
mov eax, dword [edi + 0x14]
dec eax
mov dword [ebp - 0x20], esi
mov edi, dword [ebp + 0x10]
cmp eax, 0xffffffff
je 0x5a0924
mov esi, dword [edi + 8]
mov dword [ebp - 0x2c], esi
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0x10], ebx
mov ebx, esi
shr ebx, 8
mov dword [edi + 8], ebx
mov esi, dword [ebp - 0x10]
movzx ebx, byte [esi]
mov esi, dword [ebp - 0x2c]
shld ebx, esi, 0x18
mov dword [edi + 8], ebx
add ecx, 0xfffffff8
mov dword [edi + 0xc], ecx
mov dword [edi + 0x14], eax
inc dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov dword [edi + 0x10], esi
dec eax
add edx, 8
cmp edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x20]
jae 0x5a045c
jmp 0x5a04a0
mov edx, dword [edi + 0x14]
test edx, edx
je 0x5a0624
mov ebx, dword [edi + 8]
mov dword [ebp - 0x14], ebx
mov esi, dword [ebp + 0x10]
mov edi, dword [esi + 0x10]
mov esi, ebx
shr esi, 8
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 8], esi
movzx esi, byte [edi]
mov ebx, dword [ebp - 0x14]
shld esi, ebx, 0x18
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 8], esi
dec edx
mov dword [ebx + 0x14], edx
inc edi
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x10], edi
mov edi, dword [ebp + 0x10]
add ecx, 0xfffffff8
mov ebx, dword [ebp - 0x2c]
jmp 0x59fe75
mov esi, dword [edi + 0x14]
test esi, esi
je 0x5a093c
mov ebx, dword [edi + 8]
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp + 0x10]
mov edi, dword [edx + 0x10]
mov edx, ebx
shr edx, 8
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 8], edx
movzx edx, byte [edi]
mov ebx, dword [ebp - 0x14]
shld edx, ebx, 0x18
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 8], edx
dec esi
mov dword [ebx + 0x14], esi
inc edi
mov esi, dword [ebp + 0x10]
mov dword [esi + 0x10], edi
mov edi, dword [ebp + 0x10]
add ecx, 0xfffffff8
jmp 0x5a0411
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x5a0949
mov esi, dword [edi + 8]
mov edx, dword [edi + 0x10]
mov eax, esi
shr eax, 8
mov dword [edi + 8], eax
movzx eax, byte [edx]
shld eax, esi, 0x18
mov dword [edi + 8], eax
dec ecx
mov dword [edi + 0x14], ecx
inc edx
mov dword [edi + 0x10], edx
mov ecx, 0x18
jmp 0x5a03ea
mov eax, dword [edi + 0x288]
mov dword [ebp - 0x14], eax
jmp 0x5a05ee
mov eax, dword [ebp - 0x14]
mov dword [edi + 0x288], eax
mov dword [edi + 0x28c], ebx
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x284], eax
mov dword [edi + 0x280], ecx
mov eax, dword [ebp - 0x10]
mov dword [edi + 0x290], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jae 0x5a0616
mov al, 1
mov dword [ebp - 0x10], eax
jmp 0x5a06b2
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 0x288], ecx
mov dword [eax + 0x290], 0xfffff
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + 0x290]
jmp 0x5a0347
mov eax, 2
jmp 0x5a037b
add eax, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0xc], eax
mov eax, dword [ecx + 0x314]
mov dword [ecx + 0x28c], 0
test edx, edx
je 0x5a0688
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + edx*4 + 0x8b8]
mov edi, dword [ebp - 0x14]
mov word [eax + ecx*2], di
mov ecx, dword [esi + 0x288]
mov dword [ebp - 0x14], ecx
mov dword [esi + edx*4 + 0x8b8], ecx
mov eax, 0x8000
mov ecx, edx
shr eax, cl
mov dword [esi + 0x284], edx
sub dword [esi + 0x290], eax
inc word [esi + edx*2 + 0x94a]
mov edx, dword [ebp - 0x14]
inc edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], edx
mov dword [eax + 0x288], edx
mov al, 1
mov dword [ebp - 0x10], eax
jmp 0x5a06a6
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jae 0x5a0616
mov edi, dword [ebp + 0x10]
cmp dword [edi + 0x290], 0
je 0x5a034f
test byte [ebp - 0x10], 1
jne 0x5a0704
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x5a0624
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov edx, esi
shr edx, 8
mov dword [ebx + 8], edx
mov edx, dword [ebx + 0x10]
movzx edi, byte [edx]
shld edi, esi, 0x18
mov dword [ebx + 8], edi
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
dec ecx
mov dword [ebx + 0x14], ecx
inc edx
mov dword [ebx + 0x10], edx
jmp 0x5a070a
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
xor esi, esi
mov edi, eax
sub edi, 0x20
je 0x5a071c
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx]
mov ecx, eax
shr esi, cl
neg edi
mov edx, esi
and edx, 0x1f
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx + edx*4 + 0x294]
cmp edi, ecx
jb 0x5a069f
mov ebx, dword [ebp + 0x10]
movzx edx, word [ebx + edx*4 + 0x296]
cmp edx, 0xf
jbe 0x5a062e
lea ebx, [edx + ecx]
add ebx, 0xfffffff2
mov dword [ebp - 0x10], 0
cmp edi, ebx
jb 0x5a06a6
shr esi, cl
add ebx, eax
mov eax, dword [edx*4 + 0x7aa1d8]
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0xc], ebx
mov ecx, 3
cmp edx, 0x10
jne 0x5a078b
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x284]
mov dword [ebp - 0x10], ecx
mov ecx, 2
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x10]
cmp dword [edx + 0x280], edi
jne 0x5a07c0
mov edx, dword [edx + 0x28c]
test edx, edx
je 0x5a07cc
lea edi, [edx - 2]
shl edi, cl
jmp 0x5a07d0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x288], edx
mov al, 1
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], edx
jmp 0x5a06a6
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x280], edx
xor edi, edi
xor edx, edx
and eax, esi
add eax, edi
add eax, 3
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x314]
mov dword [esi + 0x28c], eax
sub eax, edx
mov edx, dword [ebp - 0x14]
add edx, eax
cmp edx, dword [ebp - 0x1c]
ja 0x5a0600
cmp dword [ebp - 0x10], 0
je 0x5a07aa
mov edi, dword [ebp - 0x10]
mov esi, dword [esi + edi*4 + 0x8b8]
mov edi, dword [ebp - 0x14]
mov word [ecx + esi*2], di
mov edi, dword [ebp + 0x10]
mov esi, dword [edi + 0x288]
lea ebx, [esi + 1]
mov dword [edi + 0x288], ebx
mov dword [ebp - 0x14], ebx
cmp ebx, edx
jne 0x5a0806
mov ecx, dword [edi + 0x280]
mov dword [edi + ecx*4 + 0x8b8], esi
mov edx, dword [edi + 0x280]
mov cl, 0xf
sub cl, dl
mov esi, eax
shl esi, cl
sub dword [edi + 0x290], esi
add word [edi + edx*2 + 0x94a], ax
mov eax, dword [edi + 0x288]
mov dword [ebp - 0x14], eax
jmp 0x5a0698
mov dword [ebp - 0x10], 0xfffff
mov edi, dword [ebp + 0x10]
jmp 0x5a033e
mov ecx, dword [edi + 0xc]
jmp 0x5a0400
mov eax, 0xffffffe1
jmp 0x5a037b
mov eax, 0xfffffff9
jmp 0x5a037b
mov eax, 0xfffffffa
jmp 0x5a037b
xor edx, edx
mov edi, ebx
sub edi, 0x20
je 0x5a08a4
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov ecx, ebx
shr edx, cl
neg edi
movzx ecx, byte [edx + 0x7a5722]
cmp edi, ecx
jae 0x59ff05
mov edi, dword [ebp + 0x10]
mov dword [edi + 0x27c], esi
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x28c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [edi + 0x290], ecx
mov eax, 2
mov edx, 4
jmp 0x5a0375
mov eax, 0xfffffffc
jmp 0x5a037b
mov eax, 0xfffffffb
jmp 0x5a037b
mov ebx, esi
mov eax, dword [edi + 0x290]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x28c]
mov dword [ebp - 0x28], eax
mov esi, dword [edi + 0x288]
mov eax, dword [edi + 0x280]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x284]
mov dword [ebp - 0x20], eax
jmp 0x5a0163
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x27c], eax
mov edx, 2
mov eax, 2
jmp 0x5a0375
mov eax, 2
xor edx, edx
inc edx
jmp 0x5a0375
mov eax, 2
mov edx, 3
jmp 0x5a0375