Function at 0x59d4d0
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.0x59d50a
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 + 0x7a0b6c]
mov ecx, dword [edi + 0xc]
lea edx, [ecx - 0x1f]
cmp edx, 2
jb 0x59dba4
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 0x59dab0
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 0x59d603
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 0x59d575
jmp 0x59d659
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov ecx, ebx
shr edx, cl
and edx, 0xf
movzx ecx, byte [edx + 0x79f4c2]
mov eax, ebx
mov ebx, ecx
add ebx, eax
movzx ecx, byte [edx + 0x79f4d2]
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 0x59d5fd
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 0x59d659
inc esi
cmp esi, 0x12
je 0x59d659
movzx eax, byte [esi + 0x79f4b0]
lea ecx, [ebx - 0x1d]
cmp ecx, 4
mov dword [ebp - 0x14], eax
jae 0x59d5a2
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x59df42
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 0x59d5a7
cmp dword [ebp - 0x18], 1
je 0x59d669
cmp dword [ebp - 0x10], 0
jne 0x59df38
mov edi, dword [ebp + 0x10]
lea eax, [edi + 0x294]
mov esi, dword [ebp - 0x30]
push esi
push dword [ebp - 0x2c]
push eax
call fcn.00521a40
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 [0x79f4a0]
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.005219f0
add esp, 4
test eax, eax
je 0x59dc6c
cmp esi, ebx
mov eax, dword [ebp - 0x10]
jae 0x59d9ee
test eax, eax
je 0x59d9ee
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x28]
jmp 0x59d8d2
xor eax, eax
jmp 0x59d8ca
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
jmp 0x59d8b5
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 0x59d8f3
test ecx, ecx
je 0x59d851
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 0x59d84d
test al, al
je 0x59d9ee
mov dword [ebp - 0x14], esi
mov eax, dword [edi + 0x14]
cmp eax, 1
jbe 0x59dc77
mov dword [ebp - 0x18], ecx
mov esi, dword [edi + 8]
mov ecx, dword [edi + 0xc]
cmp ecx, 0x10
jae 0x59d859
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 0x59d880
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 + 0x7a3ea0]
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 0x59df0d
xor ecx, ecx
test ebx, ebx
je 0x59d9da
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 0x59d9a0
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 0x59d8be
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 0x59d8be
mov eax, dword [ebp - 0x10]
mov dword [edi + 0x290], eax
test eax, eax
jne 0x59df2e
push dword [ebp - 0x30]
push dword [edi + 0x314]
push 8
push dword [ebp + 8]
call fcn.005bd930
add esp, 0x10
mov ecx, eax
xor eax, eax
inc eax
xor edx, edx
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x59da25
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.0x59d50a.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 0x59df99
lea edi, [esi + 1]
add esi, 0xfffffe75
cmp esi, ebx
mov esi, edi
mov edi, dword [ebp + 0x10]
jbe 0x59da49
inc ecx
cmp eax, ebx
jne 0x59da3e
mov edx, dword [edi + 0x288]
cmp edx, 3
je 0x59da89
lea eax, [edi + 0x318]
push edx
push eax
push 8
push dword [ebp + 8]
call fcn.00521e30
jmp 0x59da12
mov ecx, dword [edi + 0xc]
cmp ecx, 0x20
je 0x59dc37
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 0x59da75
lea edx, [ecx - 0x1f]
cmp edx, 2
jb 0x59dbef
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 0x59da33
mov dword [ebp - 0x18], ebx
jmp 0x59db3a
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
shr ebx, cl
mov eax, dword [ebp - 0x14]
and ebx, dword [eax*4 + 0x7a3ea0]
add ecx, eax
mov dword [edi + 0xc], ecx
cmp ebx, dword [ebp - 0x1c]
jae 0x59df8f
mov word [edi + esi*2 + 0x318], bx
inc esi
mov ebx, dword [ebp - 0x18]
cmp esi, ebx
ja 0x59da33
mov ecx, dword [edi + 0xc]
mov edx, 0x20
sub edx, ecx
cmp edx, dword [ebp - 0x14]
jae 0x59db07
mov eax, dword [edi + 0x14]
dec eax
mov dword [ebp - 0x20], esi
mov edi, dword [ebp + 0x10]
cmp eax, 0xffffffff
je 0x59dfd4
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 0x59db0c
jmp 0x59db50
mov edx, dword [edi + 0x14]
test edx, edx
je 0x59dcd4
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 0x59d525
mov esi, dword [edi + 0x14]
test esi, esi
je 0x59dfec
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 0x59dac1
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x59dff9
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 0x59da9a
mov eax, dword [edi + 0x288]
mov dword [ebp - 0x14], eax
jmp 0x59dc9e
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 0x59dcc6
mov al, 1
mov dword [ebp - 0x10], eax
jmp 0x59dd62
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 0x59d9f7
mov eax, 2
jmp 0x59da2b
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 0x59dd38
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 0x59dd56
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jae 0x59dcc6
mov edi, dword [ebp + 0x10]
cmp dword [edi + 0x290], 0
je 0x59d9ff
test byte [ebp - 0x10], 1
jne 0x59ddb4
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x59dcd4
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 0x59ddba
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
xor esi, esi
mov edi, eax
sub edi, 0x20
je 0x59ddcc
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 0x59dd4f
mov ebx, dword [ebp + 0x10]
movzx edx, word [ebx + edx*4 + 0x296]
cmp edx, 0xf
jbe 0x59dcde
lea ebx, [edx + ecx]
add ebx, 0xfffffff2
mov dword [ebp - 0x10], 0
cmp edi, ebx
jb 0x59dd56
shr esi, cl
add ebx, eax
mov eax, dword [edx*4 + 0x7a3e68]
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0xc], ebx
mov ecx, 3
cmp edx, 0x10
jne 0x59de3b
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 0x59de70
mov edx, dword [edx + 0x28c]
test edx, edx
je 0x59de7c
lea edi, [edx - 2]
shl edi, cl
jmp 0x59de80
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x288], edx
mov al, 1
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], edx
jmp 0x59dd56
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 0x59dcb0
cmp dword [ebp - 0x10], 0
je 0x59de5a
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 0x59deb6
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 0x59dd48
mov dword [ebp - 0x10], 0xfffff
mov edi, dword [ebp + 0x10]
jmp 0x59d9ee
mov ecx, dword [edi + 0xc]
jmp 0x59dab0
mov eax, 0xffffffe1
jmp 0x59da2b
mov eax, 0xfffffff9
jmp 0x59da2b
mov eax, 0xfffffffa
jmp 0x59da2b
xor edx, edx
mov edi, ebx
sub edi, 0x20
je 0x59df54
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov ecx, ebx
shr edx, cl
neg edi
movzx ecx, byte [edx + 0x79f4c2]
cmp edi, ecx
jae 0x59d5b5
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 0x59da25
mov eax, 0xfffffffc
jmp 0x59da2b
mov eax, 0xfffffffb
jmp 0x59da2b
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 0x59d813
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x27c], eax
mov edx, 2
mov eax, 2
jmp 0x59da25
mov eax, 2
xor edx, edx
inc edx
jmp 0x59da25
mov eax, 2
mov edx, 3
jmp 0x59da25