Function at 0x53e670
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1b0], edi
mov dword [ebp - 0x204], eax
mov edi, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x1ac], ebx
push 1
pop ebx
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1a4], esi
movzx esi, byte [edi + 0x16d]
lea eax, [ebp - 0x394]
push eax
and esi, 0x10
lea edx, [ebp - 0x1dc]
push edx
shr esi, 4
lea ecx, [ebp + 0x10]
push ecx
lea eax, [ebp + 0xc]
push eax
call fcn.005661c0
mov dword [ebp - 0x10], eax
add esp, 0x10
cmp dword [ebp - 0x10], 0
jne 0x53fdb6
mov ecx, dword [ebp - 0x1d4]
cmp ecx, 2
je 0x53fe36
cmp ecx, 1
je 0x53fdaa
movzx eax, byte [edi + 0x16d]
test al, 0x20
mov dword [ebp - 0x1b4], eax
je 0x53e76a
movsx eax, byte [edi + 0x158]
test eax, eax
jne 0x53e76a
cmp dword [ebp - 0x1d0], 1
jle 0x53e76a
cmp ecx, 5
jl 0x53e76a
cmp ecx, 0x11
jle 0x53e75d
cmp ecx, 0x19
jl 0x53e76a
cmp ecx, 0x1f
jle 0x53e75d
cmp ecx, 0x32
jl 0x53e753
cmp ecx, 0x34
jle 0x53e75d
jmp 0x53e76a
cmp ecx, 0x28
jl 0x53e76a
cmp ecx, 0x30
jg 0x53e76a
mov eax, 1
mov dword [ebp - 0x1cc], eax
jmp 0x53e772
xor eax, eax
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x394]
cmp eax, 7
jl 0x53e8b0
cmp eax, 8
jg 0x53e8b0
mov eax, dword [ebp - 0x1d0]
test eax, eax
mov dword [ebp - 0x1b8], eax
je 0x53e7ad
mov eax, dword [ebp - 0x1d8]
cdq
mov ebx, dword [ebp - 0x1b8]
idiv ebx
mov ebx, eax
jmp 0x53e7af
xor ebx, ebx
test ebx, ebx
je 0x53e8a3
cmp ecx, 0x34
je 0x53e7c6
cmp ecx, 0x1c
jl 0x53e7d3
cmp ecx, 0x2c
jg 0x53e7d3
mov eax, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], eax
jmp 0x53e7da
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x390]
test eax, eax
jle 0x53e849
mov edx, dword [ebp - 0x1b8]
cmp edx, dword [ebp - 0x380]
jne 0x53e809
mov edx, dword [ebp - 0x384]
cmp edx, dword [ebp - 0x388]
jg 0x53e809
cmp edx, 1
je 0x53ead9
mov dword [ebp - 0x214], edi
xor ecx, ecx
lea edi, [ecx*8]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + edi - 0x384]
mov edi, dword [ebp + edi - 0x380]
mov dword [ebp + ecx*4 - 0xa8], edx
mov dword [ebp + ecx*4 - 0x124], edi
mov dword [ebp + ecx*4 - 0x1a0], edx
inc ecx
cmp ecx, eax
jl 0x53e811
mov edi, dword [ebp - 0x214]
xor edx, edx
test eax, eax
jle 0x53e87a
mov dword [ebp - 0x214], edi
xor ecx, ecx
mov edi, dword [ebp + ecx*4 - 0x1a0]
sub edi, dword [ebp + ecx*4 - 0xa8]
imul edi, dword [ebp + ecx*4 - 0x124]
inc ecx
add edx, edi
cmp ecx, eax
jl 0x53e857
mov edi, dword [ebp - 0x214]
add edx, dword [ebp - 0x38c]
lea eax, [ebp - 0x394]
mov dword [ebp - 0x1dc], edx
lea edx, [ebp - 0x1a0]
push eax
push edx
push 0
call fcn.005666e0
add esp, 0xc
jmp 0x53e98f
mov eax, 1
mov dword [ebp - 8], eax
jmp 0x53e98f
cmp eax, 6
je 0x53e8be
cmp eax, 5
jne 0x53e946
cmp dword [ebp - 0x1d0], 0
je 0x53e934
mov eax, dword [ebp - 0x1d8]
test eax, eax
mov dword [ebp - 0x1b8], eax
je 0x53e93c
test byte [ebp - 0x1b4], 0x10
je 0x53e924
push edi
lea eax, [ebp - 0x1dc]
push eax
call fcn.00566d90
add esp, 8
test eax, eax
je 0x53e92b
cmp dword [ebp - 0x1cc], 0
jne 0x53e924
mov eax, dword [ebp - 0x1d0]
test eax, eax
mov dword [ebp - 0x1b8], eax
je 0x53e920
mov eax, dword [ebp - 0x1d8]
cdq
mov ecx, dword [ebp - 0x1b8]
idiv ecx
mov ebx, eax
jmp 0x53e98f
xor ebx, ebx
jmp 0x53e98f
mov ebx, 1
jmp 0x53e98f
mov ebx, 1
xor esi, esi
jmp 0x53e98f
xor eax, eax
mov dword [ebp - 0x1b8], eax
mov ebx, 1
mov dword [ebp - 8], ebx
jmp 0x53e98f
cmp ecx, 0x34
je 0x53e977
cmp ecx, 0x1c
jl 0x53e955
cmp ecx, 0x2c
jle 0x53e977
mov eax, dword [ebp - 0x1d8]
test eax, eax
mov edx, dword [ebp - 8]
jne 0x53e967
mov edx, 1
mov ebx, 1
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 8], edx
jmp 0x53e98f
mov eax, dword [ebp - 0x1d0]
mov ebx, 2
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x1e8], esi
movzx edx, byte [edi + 0x16f]
test dl, 0x20
je 0x53ea08
and edx, 0xffffffdf
mov byte [edi + 0x16f], dl
cmp ebx, 1
je 0x53ed01
xor eax, eax
push eax
push eax
push edi
call fcn.00564590
mov dword [ebp - 0x10], eax
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x53ec81
add dword [edi + 0x98], 1
mov eax, dword [edi + 0x3c]
movzx edx, byte [edi + 0x16f]
adc dword [edi + 0x9c], 0
and edx, 0xfffffffb
mov dword [edi + 0x48], eax
mov byte [edi + 0x16f], dl
cmp byte [edi + 0x154], 3
je 0x53ebc9
mov dword [edi + 0x80], 0
cmp dword [ebp - 4], 0
jne 0x53faaa
cmp dword [ebp - 8], 0
je 0x53ed2a
cmp ebx, 1
jle 0x53e6be
mov eax, dword [ebp - 0x394]
cmp eax, 7
je 0x53ea39
cmp eax, 8
jne 0x53eab8
cmp dword [ebp - 0xc], 0
je 0x53ea56
mov eax, dword [ebp - 0x1d0]
xor edx, edx
add dword [ebp - 0x1dc], eax
dec ebx
mov dword [ebp - 0xc], edx
jmp 0x53e995
cmp dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0xc]
je 0x53ea64
mov edx, 1
xor eax, eax
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x390]
test edx, edx
jle 0x53ea92
xor ecx, ecx
mov esi, dword [ebp + ecx*4 - 0x1a0]
sub esi, dword [ebp + ecx*4 - 0xa8]
imul esi, dword [ebp + ecx*4 - 0x124]
inc ecx
add eax, esi
cmp ecx, edx
jl 0x53ea75
add eax, dword [ebp - 0x38c]
lea edx, [ebp - 0x1a0]
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0x394]
push eax
push edx
push 0
call fcn.005666e0
add esp, 0xc
jmp 0x53ead3
mov edx, dword [ebp - 0xc]
test edx, edx
mov eax, dword [ebp - 0x1d0]
je 0x53eaca
mov edx, 0
add dword [ebp - 0x1dc], eax
mov dword [ebp - 0xc], edx
dec ebx
jmp 0x53e995
cmp eax, 1
jg 0x53eb61
test byte [ebp - 0x1b4], 0x10
je 0x53eb1b
push edi
lea eax, [ebp - 0x1dc]
push eax
call fcn.00566d90
add esp, 8
test eax, eax
je 0x53eb3d
cmp dword [ebp - 0x1cc], 0
jne 0x53eb1b
mov eax, dword [ebp - 0x390]
test eax, eax
jg 0x53e809
jmp 0x53e849
mov eax, dword [ebp - 0x1d8]
mov ebx, 1
mov edx, dword [ebp - 0x38c]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1dc], edx
jmp 0x53e98f
mov esi, dword [ebp - 0x1d8]
mov ebx, 1
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x1b8], esi
xor esi, esi
mov dword [ebp - 0x1dc], eax
jmp 0x53e98f
mov dword [ebp - 0x214], edi
mov ecx, 1
lea edx, [ecx*8]
lea edx, [edx + ecx*4]
mov edi, dword [ebp + edx - 0x384]
cmp edi, 1
je 0x53eb8d
mov edi, dword [ebp - 0x214]
jmp 0x53e809
cmp edi, dword [ebp + edx - 0x388]
jg 0x53eb82
mov edi, dword [ebp + edx - 0x394]
imul edi, dword [ebp + edx - 0x38c]
cmp edi, dword [ebp + edx - 0x380]
je 0x53ebb9
mov edi, dword [ebp - 0x214]
jmp 0x53e809
inc ecx
cmp ecx, eax
jl 0x53eb6c
mov edi, dword [ebp - 0x214]
jmp 0x53eae2
movzx ecx, byte [eax + 1]
shl ecx, 8
movzx esi, byte [eax]
or esi, ecx
movsx ecx, si
cmp ecx, 3
je 0x53ebe2
cmp ecx, 1
jne 0x53ebed
add eax, 2
mov dword [edi + 0x3c], eax
jmp 0x53e9fe
mov eax, dword [edi + 0x18]
test eax, eax
mov esi, dword [ebp - 0x1a4]
je 0x53ec5f
test byte [eax + 0x44], 2
je 0x53ec32
mov edx, 0x23
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [edi + 0x64]
test eax, eax
je 0x53ec1d
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov eax, 0x23
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, 0x23
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x23
push eax
push eax
push 1
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1a4]
je 0x53ece4
test byte [edx + 0x44], 2
je 0x53ecbc
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x53ecac
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp byte [eax], 1
jne 0x53e9b3
mov eax, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1b8]
mov dword [edi + 0x80], eax
mov dword [edi + 0x134], edx
jmp 0x53e9b3
mov esi, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1c4], ecx
mov dword [ebp - 0x1a8], ecx
lea ecx, [esi - 1]
mov eax, dword [ebp - 0x1dc]
cmp ecx, 0x20
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1bc], esi
jae 0x53ed8a
mov eax, 1
shl eax, cl
test eax, 0x808a
je 0x53ed8a
mov esi, dword [ebp - 0x1c0]
mov eax, 1
and esi, ecx
mov dword [ebp - 0x1e4], esi
mov esi, dword [edi + 0x3c]
and ecx, esi
jmp 0x53ed9d
mov ecx, dword [ebp - 0x1c0]
xor eax, eax
mov esi, dword [edi + 0x3c]
mov dword [ebp - 0x1e4], ecx
mov ecx, esi
test dl, 0x40
jne 0x53eea7
cmp dword [edi + 0x138], 7
je 0x53f690
xor edx, edx
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], ecx
mov ecx, edx
mov dword [ebp - 0x1f8], ebx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c4]
mov ebx, dword [edi + 0x44]
sub ebx, esi
cmp edx, ebx
jle 0x53f0d2
test ebx, ebx
jle 0x53ee0a
push ebx
push esi
push dword [ebp - 0x1c8]
call fcn.0059f8e0
add esp, 0xc
mov edx, dword [ebp - 0x1a8]
sub edx, ebx
add dword [ebp - 0x1c8], ebx
add dword [edi + 0x3c], ebx
mov dword [ebp - 0x1a8], edx
movsx eax, byte [edi + 0x154]
cmp eax, 3
je 0x53f011
cmp dword [edi + 0x138], 0xb
jne 0x53ee2c
test byte [edi + 0x172], 0x20
jne 0x53ee4f
cmp eax, 5
jne 0x53ef7d
cmp edx, dword [edi + 0xec]
jb 0x53ee4f
mov eax, dword [ebp - 0x1c8]
mov dword [edi + 0x80], eax
mov dword [edi + 0x134], edx
xor eax, eax
push eax
push eax
push edi
call fcn.00564590
add esp, 0xc
test eax, eax
jne 0x53fa2a
mov edx, dword [ebp - 0x1a8]
mov esi, dword [edi + 0x3c]
mov dword [edi + 0x48], esi
cmp edx, dword [edi + 0xec]
jb 0x53ee84
sub edx, dword [edi + 0xf0]
mov dword [ebp - 0x1a8], edx
cmp byte [edi + 0x154], 3
jne 0x53ee9d
add esi, 2
mov ecx, 1
mov dword [edi + 0x3c], esi
jmp 0x53edd2
mov ecx, 1
jmp 0x53edd2
cmp dword [ebp - 0x1cc], 0
je 0x53ef3c
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1c0]
test byte [ebp - 0x1e4], 3
lea eax, [eax + edx]
jne 0x53ef2b
cmp dword [ebp - 0x1bc], 4
je 0x53ef1a
cmp dword [ebp - 0x1bc], 8
jne 0x53eeef
cmp eax, dword [ebp - 0x1c0]
ja 0x53f7bd
jmp 0x53ea1c
cmp dword [ebp - 0x1bc], 0x10
jne 0x53ef09
cmp eax, dword [ebp - 0x1c0]
ja 0x53f842
jmp 0x53ea1c
cmp eax, dword [ebp - 0x1c0]
ja 0x53f92a
jmp 0x53ea1c
cmp eax, dword [ebp - 0x1c0]
ja 0x53f945
jmp 0x53ea1c
cmp eax, dword [ebp - 0x1c0]
ja 0x53f99c
jmp 0x53ea1c
cmp dword [ebp - 0x1e8], 0
je 0x53ea1c
push dword [ebp - 0x1b8]
push edi
lea eax, [ebp - 0x1dc]
push eax
call fcn.00566740
mov dword [ebp - 0x10], eax
add esp, 0xc
cmp dword [ebp - 0x10], 0
je 0x53ea1c
push 0
push 0x5f
call fcn.00560040
add esp, 8
jmp 0x53ea1c
mov eax, dword [edi + 0x18]
test eax, eax
mov esi, dword [ebp - 0x1a4]
je 0x53efef
test byte [eax + 0x44], 2
je 0x53efc2
mov edx, 0x43
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [edi + 0x64]
test eax, eax
je 0x53efad
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov eax, 0x43
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, 0x43
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x43
push eax
push eax
push 1
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x48]
movzx edx, byte [eax + 1]
shl edx, 8
movzx ecx, byte [eax]
or ecx, edx
movsx ecx, cx
cmp ecx, 0x20
jae 0x53ee4f
mov eax, 1
shl eax, cl
test eax, 0x400000c
je 0x53ee4f
mov eax, dword [edi + 0x18]
test eax, eax
mov esi, dword [ebp - 0x1a4]
je 0x53f0b0
test byte [eax + 0x44], 2
je 0x53f083
mov edx, 0x43
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [edi + 0x64]
test eax, eax
je 0x53f06e
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov eax, 0x43
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, 0x43
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x43
push eax
push eax
push 1
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x1c4], edx
mov edx, ecx
mov dword [ebp - 0x10], eax
test edx, edx
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1f0]
mov ebx, dword [ebp - 0x1f8]
jne 0x53f622
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x1cc], 0
lea eax, [edx + eax]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1f4]
je 0x53f486
test byte [ebp - 0x1e4], 3
jne 0x53f3c8
test cl, 3
jne 0x53f3c8
cmp dword [ebp - 0x1ec], 4
je 0x53f356
cmp dword [ebp - 0x1ec], 8
jne 0x53f1fd
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f66a
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov edx, dword [esi + 4]
mov edi, edx
mov ecx, edx
and edi, 0xff0000
shr ecx, 0x18
shr edi, 8
or ecx, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
shl edx, 0x18
or ecx, edi
mov ebx, dword [esi]
or ecx, edx
mov edx, ebx
mov edi, ebx
mov dword [eax], ecx
and edx, 0xff0000
mov ecx, ebx
shr edi, 0x18
and ecx, 0xff00
shr edx, 8
shl ecx, 8
or edi, edx
shl ebx, 0x18
or edi, ecx
or edi, ebx
mov ebx, dword [ebp - 0x1ec]
add esi, ebx
mov dword [eax + 4], edi
add eax, ebx
cmp eax, dword [ebp - 0x1e0]
jb 0x53f17f
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
mov ebx, dword [ebp - 0x1f8]
add dword [edi + 0x3c], eax
jmp 0x53ea1c
cmp dword [ebp - 0x1ec], 0x10
jne 0x53f30d
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f66a
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov esi, eax
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, eax
mov dword [ebp - 0x398], edi
mov edi, eax
and edi, 0xff0000
shr edx, 0x18
shr edi, 8
or edx, edi
mov edi, eax
and edi, 0xff00
shl edi, 8
shl eax, 0x18
or edx, edi
or edx, eax
mov edi, ebx
mov dword [esi], edx
mov edx, ebx
and edx, 0xff0000
mov eax, ebx
shr edi, 0x18
and eax, 0xff00
shr edx, 8
shl eax, 8
or edi, edx
shl ebx, 0x18
or edi, eax
or edi, ebx
mov ebx, ecx
mov edx, ecx
and ebx, 0xff0000
mov eax, ecx
shr edx, 0x18
and eax, 0xff00
shr ebx, 8
shl eax, 8
or edx, ebx
shl ecx, 0x18
or edx, eax
or edx, ecx
mov dword [esi + 8], edx
mov edx, dword [ebp - 0x398]
mov ecx, edx
mov ebx, edx
and ecx, 0xff0000
mov eax, edx
shr ebx, 0x18
and eax, 0xff00
shr ecx, 8
shl eax, 8
or ebx, ecx
shl edx, 0x18
or ebx, eax
mov ecx, dword [ebp - 0x1ec]
or ebx, edx
mov dword [esi + 4], edi
mov dword [esi + 0xc], ebx
add esi, ecx
add dword [ebp - 0x28], ecx
cmp esi, dword [ebp - 0x1e0]
jb 0x53f22a
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
mov ebx, dword [ebp - 0x1f8]
add dword [edi + 0x3c], eax
jmp 0x53ea1c
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f66a
mov dword [ebp - 0x214], edi
mov edx, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1ec]
mov edi, eax
movzx eax, word [esi]
add esi, ecx
rol ax, 8
mov word [edi], ax
add edi, ecx
cmp edi, edx
jb 0x53f330
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
add dword [edi + 0x3c], eax
jmp 0x53ea1c
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f66a
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov eax, dword [ebp - 0x1ec]
mov ebx, dword [ebp - 0x18]
mov edx, dword [esi]
mov edi, edx
mov ecx, edx
and edi, 0xff0000
shr ecx, 0x18
add esi, eax
shr edi, 8
or ecx, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
shl edx, 0x18
or ecx, edi
or ecx, edx
mov dword [ebx], ecx
add ebx, eax
cmp ebx, dword [ebp - 0x1e0]
jb 0x53f37a
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
mov ebx, dword [ebp - 0x1f8]
add dword [edi + 0x3c], eax
jmp 0x53ea1c
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f66a
mov eax, dword [ebp - 0x1ec]
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x214], edi
mov edi, eax
mov ebx, dword [ebp - 0x18]
cmp edi, 1
je 0x53f678
cmp dword [ebp - 0x24], 0
jle 0x53f460
xor ecx, ecx
lea eax, [edi + esi]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x18], ebx
lea edx, [edi + ebx]
mov dword [ebp - 0x20], edx
xor edx, edx
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov edi, dword [ebp - 0x18]
movzx eax, byte [ecx + esi]
mov esi, dword [ebp - 0x1c]
movzx ebx, byte [edx + esi - 1]
xor eax, ebx
mov byte [ecx + edi], bl
inc ecx
movzx ebx, byte [edx + esi - 1]
dec edx
mov edi, dword [ebp - 0x20]
xor ebx, eax
mov eax, dword [ebp - 0x14]
mov byte [eax + edi - 1], bl
dec eax
cmp ecx, dword [ebp - 0x24]
jl 0x53f421
mov edi, dword [ebp - 0x1ec]
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
add ebx, edi
add esi, edi
cmp ebx, dword [ebp - 0x1e0]
jb 0x53f3fa
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
mov ebx, dword [ebp - 0x1f8]
add dword [edi + 0x3c], eax
jmp 0x53ea1c
test eax, eax
je 0x53f602
test byte [ebp - 0x1e4], 7
jne 0x53f602
test cl, 7
jne 0x53f602
cmp dword [ebp - 0x1ec], 4
je 0x53f5bf
cmp dword [ebp - 0x1ec], 8
jne 0x53f50f
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f682
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov ecx, dword [ebp - 0x1e0]
mov ebx, dword [ebp - 0x1ec]
mov edi, eax
mov eax, dword [esi]
mov edx, dword [esi + 4]
add esi, ebx
mov dword [edi], eax
mov dword [edi + 4], edx
add edi, ebx
cmp edi, ecx
jb 0x53f4e3
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
mov ebx, dword [ebp - 0x1f8]
add dword [edi + 0x3c], eax
jmp 0x53ef3c
cmp dword [ebp - 0x1ec], 0x10
jne 0x53f57a
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f682
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0x18]
mov ebx, dword [esi]
mov edi, dword [esi + 4]
mov dword [edx], ebx
mov dword [edx + 4], edi
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
add esi, ecx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], edi
add edx, ecx
cmp edx, eax
jb 0x53f542
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
mov ebx, dword [ebp - 0x1f8]
add dword [edi + 0x3c], eax
jmp 0x53ef3c
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f682
mov dword [ebp - 0x214], edi
mov edx, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1ec]
mov edi, eax
movzx eax, word [esi]
add esi, ecx
mov word [edi], ax
add edi, ecx
cmp edi, edx
jb 0x53f59d
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
add dword [edi + 0x3c], eax
jmp 0x53ef3c
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1e0]
jae 0x53f682
mov dword [ebp - 0x214], edi
mov edx, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1ec]
mov edi, eax
mov eax, dword [esi]
add esi, ecx
mov dword [edi], eax
add edi, ecx
cmp edi, edx
jb 0x53f5e2
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c4]
add dword [edi + 0x3c], eax
jmp 0x53ef3c
push dword [ebp - 0x1c4]
push esi
push dword [ebp - 0x18]
call fcn.0059f8e0
add esp, 0xc
mov eax, dword [ebp - 0x1a8]
add dword [edi + 0x3c], eax
jmp 0x53ef3c
push dword [ebp - 0x1c4]
push esi
push dword [ebp - 0x1c8]
call fcn.0059f8e0
add esp, 0xc
mov eax, dword [ebp - 0x1a8]
add dword [edi + 0x3c], eax
cmp dword [ebp - 0x1cc], 0
je 0x53ef3c
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c0], edx
jmp 0x53eeb4
add esi, dword [ebp - 0x1c4]
mov dword [edi + 0x3c], esi
jmp 0x53ea1c
movzx eax, byte [esi]
mov byte [ebx], al
jmp 0x53f460
add esi, dword [ebp - 0x1c4]
mov dword [edi + 0x3c], esi
jmp 0x53ef3c
jne 0x53eea7
mov edx, dword [ebp + 0xc]
lea esi, [ebp - 0x1fc]
mov dword [esp + 0xc], esi
lea esi, [ebp - 0x210]
mov eax, dword [ebp - 0xc]
movsx ecx, byte [edx]
lea edx, [ebp - 0x208]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x20c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x1c8]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov eax, edi
mov dword [esp + 0x24], edx
lea edx, [ebp - 0x1a8]
call fcn.0053fe50
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x53f719
cmp dword [ebp - 0x1cc], 0
je 0x53ef3c
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c0], edx
jmp 0x53eeb4
mov edx, dword [edi + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1a4]
je 0x53f792
test byte [edx + 0x44], 2
je 0x53f760
mov eax, dword [ebp - 0x20c]
mov dword [edx + 0x38], eax
mov ecx, dword [edi + 0x18]
mov edx, dword [ebp - 0x208]
mov dword [ecx + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x53f750
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
movzx eax, byte [edi + 0x16c]
and eax, 7
push eax
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [edx + 4]
mov edi, ecx
mov ebx, ecx
and edi, 0xff0000
shr ebx, 0x18
shr edi, 8
or ebx, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
shl ecx, 0x18
or ebx, edi
mov esi, dword [edx]
or ebx, ecx
mov ecx, esi
mov edi, esi
mov dword [edx], ebx
and ecx, 0xff0000
mov ebx, esi
shr edi, 0x18
and ebx, 0xff00
shr ecx, 8
shl ebx, 8
or edi, ecx
shl esi, 0x18
or edi, ebx
or edi, esi
mov dword [edx + 4], edi
add edx, eax
cmp edx, dword [ebp - 0x39c]
jb 0x53f7d5
mov ebx, dword [ebp - 0x1f8]
mov edi, dword [ebp - 0x214]
jmp 0x53ea1c
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov esi, edx
mov edi, dword [esi]
mov edx, dword [esi + 0xc]
mov ecx, edx
mov dword [ebp - 0x3a0], edi
mov edi, edx
and edi, 0xff0000
shr ecx, 0x18
shr edi, 8
or ecx, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
shl edx, 0x18
or ecx, edi
mov ebx, dword [esi + 8]
or ecx, edx
mov edx, ebx
mov edi, ebx
mov dword [esi], ecx
and edx, 0xff0000
mov ecx, ebx
shr edi, 0x18
and ecx, 0xff00
shr edx, 8
shl ecx, 8
or edi, edx
shl ebx, 0x18
or edi, ecx
mov eax, dword [esi + 4]
or edi, ebx
mov ebx, eax
mov ecx, eax
and ebx, 0xff0000
mov edx, eax
shr ecx, 0x18
and edx, 0xff00
shr ebx, 8
shl edx, 8
or ecx, ebx
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [ebp - 0x3a0]
mov eax, ecx
mov ebx, ecx
and eax, 0xff0000
mov edx, ecx
shr ebx, 0x18
and edx, 0xff00
shr eax, 8
shl edx, 8
or ebx, eax
shl ecx, 0x18
or ebx, edx
or ebx, ecx
mov dword [esi + 4], edi
mov dword [esi + 0xc], ebx
add esi, dword [ebp - 0x1bc]
cmp esi, dword [ebp - 0x39c]
jb 0x53f856
mov ebx, dword [ebp - 0x1f8]
mov edi, dword [ebp - 0x214]
jmp 0x53ea1c
mov edx, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1c0]
rol word [ecx], 8
add ecx, edx
cmp ecx, eax
jb 0x53f936
jmp 0x53ea1c
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov edx, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x1c0]
mov ecx, dword [esi]
mov edi, ecx
mov ebx, ecx
and edi, 0xff0000
shr ebx, 0x18
shr edi, 8
or ebx, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
shl ecx, 0x18
or ebx, edi
or ebx, ecx
mov dword [esi], ebx
add esi, edx
cmp esi, eax
jb 0x53f95d
mov ebx, dword [ebp - 0x1f8]
mov edi, dword [ebp - 0x214]
jmp 0x53ea1c
mov edx, dword [ebp - 0x1bc]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
test ecx, ecx
jle 0x53ea1c
mov dword [ebp - 0x39c], eax
xor edx, edx
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x214], edi
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1bc]
mov ebx, edx
mov dword [ebp - 0x1c0], eax
mov edi, ebx
lea esi, [ecx + eax]
mov ecx, eax
movzx edx, byte [ecx]
inc ebx
movzx eax, byte [edi + esi - 1]
xor edx, eax
mov byte [ecx], al
inc ecx
xor byte [edi + esi - 1], dl
dec edi
cmp ebx, dword [ebp - 0x200]
jl 0x53f9e8
mov eax, dword [ebp - 0x1c0]
xor edx, edx
add eax, dword [ebp - 0x1bc]
cmp eax, dword [ebp - 0x39c]
jb 0x53f9d3
mov ebx, dword [ebp - 0x1f8]
mov edi, dword [ebp - 0x214]
jmp 0x53ea1c
mov edx, dword [edi + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1a4]
je 0x53fa8d
test byte [edx + 0x44], 2
je 0x53fa65
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x53fa55
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x1a4]
cmp dword [ebp - 0x1d4], 1
jne 0x53fc6d
cmp byte [edi + 0x154], 3
je 0x53fcc5
test dl, 0x40
jne 0x53fbbe
cmp dword [edi + 0x138], 7
jne 0x53fbbe
cmp dword [ebp - 0x1fc], 0
jne 0x53fbbe
xor edx, edx
lea eax, [ebp - 0x1fc]
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x208]
mov dword [esp + 0x10], edx
mov eax, edi
mov dword [esp + 0x14], ebx
lea ebx, [ebp - 0x210]
mov dword [esp + 0x18], 1
mov dword [ebp - 0x1a8], edx
lea edx, [ebp - 0x20c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
lea edx, [ebp - 0x1a8]
mov dword [esp + 0x24], ecx
lea ecx, [ebp - 0x1c8]
call fcn.0053fe50
test eax, eax
je 0x53fbbe
mov edx, dword [edi + 0x18]
test edx, edx
je 0x53fc7d
test byte [edx + 0x44], 2
je 0x53fb8c
mov eax, dword [ebp - 0x20c]
mov dword [edx + 0x38], eax
mov ecx, dword [edi + 0x18]
mov edx, dword [ebp - 0x208]
mov dword [ecx + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x53fb7c
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
movzx eax, byte [edi + 0x16c]
and eax, 7
push eax
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x3c]
sub eax, dword [edi + 0x38]
mov ecx, dword [edi + 0xc0]
cdq
add ecx, eax
push dword [edi + 0x100]
mov dword [edi + 0xb8], ecx
adc edx, dword [edi + 0xc4]
and byte [edi + 0x16c], 0xdc
and byte [edi + 0x16e], 0xf7
mov dword [edi + 0xbc], edx
call fcn.0055c0e0
add esp, 4
test eax, eax
je 0x53fc60
mov edx, dword [edi + 0x18]
test edx, edx
je 0x53fca8
test byte [edx + 0x44], 2
je 0x53fc38
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x53fc28
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x204]
mov dword [edx + 4], 0
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 0
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x48]
movzx eax, byte [ecx]
movzx ecx, byte [ecx + 1]
shl ecx, 8
or eax, ecx
movsx eax, ax
cmp eax, 0x1a
je 0x53facd
mov dword [ebp - 0x1a4], esi
xor esi, esi
cmp eax, 2
je 0x53fd18
cmp eax, 3
je 0x53fd18
push esi
push esi
push edi
call fcn.00564590
add esp, 0xc
test eax, eax
jne 0x53fd2a
mov eax, dword [edi + 0x3c]
movzx edx, byte [eax + 1]
shl edx, 8
movzx ecx, byte [eax]
or ecx, edx
movsx eax, cx
cmp eax, 0x1a
jne 0x53fce8
mov esi, dword [ebp - 0x1a4]
movzx edx, byte [edi + 0x16f]
jmp 0x53facd
mov edx, dword [edi + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1a4]
je 0x53fd8d
test byte [edx + 0x44], 2
je 0x53fd65
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x53fd55
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], 1
jmp 0x53e98f
mov edx, dword [edi + 0x18]
test edx, edx
mov esi, dword [ebp - 0x1a4]
je 0x53fe19
test byte [edx + 0x44], 2
je 0x53fdf1
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x53fde1
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.005640b0
add esp, 0x14
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.0055df70
add esp, 0x10
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov esi, dword [ebp - 0x1a4]
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov esp, ebp
pop ebp
ret