Function at 0x497339
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 0x1c], ecx
cmp dword [0x600d50], 0
jne 0x497350
jmp 0x4985de
cmp dword [0x60ceb4], 0x42
jl 0x497395
mov eax, dword [0x60ceb4]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x49737e
mov eax, dword [0x60ceb4]
cdq
mov ecx, 3
idiv ecx
mov dword [0x60cebc], eax
jmp 0x497393
mov eax, dword [0x60ceb4]
cdq
mov ecx, 3
idiv ecx
add eax, 1
mov dword [0x60cebc], eax
jmp 0x4973f0
cmp dword [0x60ceb4], 0x21
jl 0x4973d8
mov eax, dword [0x60ceb4]
cdq
xor eax, edx
sub eax, edx
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
jne 0x4973c4
mov eax, dword [0x60ceb4]
cdq
sub eax, edx
sar eax, 1
mov dword [0x60cebc], eax
jmp 0x4973d6
mov eax, dword [0x60ceb4]
cdq
sub eax, edx
sar eax, 1
add eax, 1
mov dword [0x60cebc], eax
jmp 0x4973f0
mov edx, dword [0x5c4310]
add edx, dword [0x5e5800]
mov eax, dword [ebp - 0x1c]
add edx, dword [eax + 0x5c]
mov dword [0x60cebc], edx
mov ecx, dword [0x600d50]
mov dl, byte [ecx + 0xf]
mov byte [0x60cd1c], dl
mov eax, dword [0x600d50]
mov cl, byte [eax + 1]
mov byte [0x60cd1d], cl
xor edx, edx
mov dl, byte [0x60ceb8]
xor eax, eax
mov al, byte [0x60cd1c]
cmp edx, eax
jne 0x4974b6
cmp dword [0x60cec4], 0
jne 0x4974b1
mov ecx, dword [0x60ced4]
mov edx, dword [0x60ced4]
add edx, 1
mov dword [0x60ced4], edx
cmp ecx, 0x14
jle 0x4974b1
mov dword [0x60ced4], 0
mov dword [0x60cec4], 1
push 0x5c12a8
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x30]
push 0xffffff
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x38]
push 0xff
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x34]
push 0x58dcc4
call fcn.004cfcc0
add esp, 4
push eax
push 0x58dcd8
push 3
push 0xd
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x64]
jmp 0x49783e
xor eax, eax
mov al, byte [0x60cd1d]
test eax, eax
jne 0x4975a4
mov dword [0x60cedc], 0
mov ecx, dword [0x60ced8]
mov edx, dword [0x60ced8]
add edx, 1
mov dword [0x60ced8], edx
cmp ecx, 0x14
jle 0x49759f
mov dword [0x60ced8], 0
mov dword [0x60cec8], 1
push 0x5c12a8
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x30]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x38]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x34]
push 0x58dcec
call fcn.004cfcc0
add esp, 4
push eax
push 0x58dd04
push 3
push 0xd
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x64]
push 0xffffff
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x38]
push 0xff
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x34]
push 0x58dd18
call fcn.004cfcc0
add esp, 4
push eax
push 0x58dd28
push 3
push 0x1c
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x64]
mov al, byte [0x60cd1d]
mov byte [0x60ceb9], al
jmp 0x49783e
xor ecx, ecx
mov cl, byte [0x60cd1d]
cmp ecx, 0xff
jne 0x497695
mov dword [0x60ced8], 0
mov edx, dword [0x60cedc]
mov eax, dword [0x60cedc]
add eax, 1
mov dword [0x60cedc], eax
cmp edx, 0x14
jle 0x497690
mov dword [0x60cedc], 0
mov dword [0x60cecc], 1
push 0x5c12a8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
call dword [edx + 0x30]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x38]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x34]
push 0x58dd38
call fcn.004cfcc0
add esp, 4
push eax
push 0x58dd50
push 3
push 0xd
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x64]
push 0xffffff
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x38]
push 0xff
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x34]
push 0x58dd64
call fcn.004cfcc0
add esp, 4
push eax
push 0x58dd74
push 3
push 0x1c
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x64]
mov al, byte [0x60cd1d]
mov byte [0x60ceb9], al
jmp 0x49783e
mov cl, byte [0x60cd1c]
mov byte [0x60ceb8], cl
cmp dword [0x60cec4], 1
jne 0x49772f
mov dword [0x60cec4], 0
mov dword [0x60cedc], 0
mov edx, dword [0x60cedc]
mov dword [0x60ced8], edx
mov eax, dword [0x60ced8]
mov dword [0x60ced4], eax
push 0x5c12a8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
call dword [edx + 0x30]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x38]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x34]
push 0x58dd84
call fcn.004cfcc0
add esp, 4
push eax
push 0x58dd9c
push 3
push 0xd
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x64]
jmp 0x49783e
cmp dword [0x60cecc], 1
jne 0x4977ad
mov dword [0x60cecc], 0
mov dword [0x60cedc], 0
push 0x5c12a8
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x30]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x38]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x34]
push 0x58ddb0
call fcn.004cfcc0
add esp, 4
push eax
push 0x58ddc8
push 3
push 0xd
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x64]
mov al, byte [0x60cd1d]
mov byte [0x60ceb9], al
jmp 0x49783e
cmp dword [0x60cec8], 1
jne 0x497828
mov dword [0x60cec8], 0
mov dword [0x60ced8], 0
push 0x5c12a8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
call dword [edx + 0x30]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x38]
push 0xc0c0c0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x34]
push 0x58dddc
call fcn.004cfcc0
add esp, 4
push eax
push 0x58ddf4
push 3
push 0xd
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
call dword [edx + 0x64]
mov al, byte [0x60cd1d]
mov byte [0x60ceb9], al
jmp 0x49783e
mov dword [0x60cedc], 0
mov ecx, dword [0x60cedc]
mov dword [0x60ced8], ecx
mov dword [ebp - 0x10], 0x3a
mov dword [ebp - 0x14], 0x14
mov dword [ebp - 0x18], 1
jmp 0x49785e
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [0x5c4310]
jg 0x4981ee
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600e30]
test eax, eax
jne 0x49789f
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 2
jmp case.0x497bba.5
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600e2a]
test eax, eax
jne 0x4978c8
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 5
jmp case.0x497bba.5
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600e14]
cmp eax, 1
jne 0x4978f2
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 6
jmp case.0x497bba.5
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600e0e]
cmp eax, 1
jne 0x497962
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x46c
movsx edx, word [ecx + 0x5ad2ec]
cmp edx, 8
je 0x497948
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x46c
movsx ecx, word [eax + 0x5ad2ec]
cmp ecx, 7
je 0x497948
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x46c
movsx eax, word [edx + 0x5ad2ec]
cmp eax, 6
jne 0x497958
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 0x1a
jmp 0x49795d
jmp 0x4985d9
jmp case.0x497bba.5
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600d82]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x46c
movsx edx, word [ecx + 0x5ad2ec]
cmp edx, 4
je 0x4979a5
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x46c
movsx ecx, word [eax + 0x5ad2ec]
cmp ecx, 0xf
jne 0x497aab
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600df8]
test eax, eax
je 0x4979ce
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 0x18
jmp 0x497aa6
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600e0e]
test eax, eax
je 0x4979f7
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 0x19
jmp 0x497aa6
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600d7a]
test eax, eax
je 0x497a20
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 0x1a
jmp 0x497aa6
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600e16]
test eax, eax
je 0x497a82
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x128
xor edx, edx
mov dx, word [ecx + 0x600d5e]
test edx, edx
jne 0x497a62
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x128
xor ecx, ecx
mov cx, word [eax + 0x600d60]
test ecx, ecx
je 0x497a72
mov edx, dword [ebp - 0x18]
mov dword [edx*4 + 0x60cb88], 0x15
jmp 0x497a80
mov eax, dword [ebp - 0x18]
mov dword [eax*4 + 0x60cb88], 0x14
jmp 0x497aa6
cmp dword [ebp - 0xc], 1
jne 0x497a98
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 0x1a
jmp 0x497aa6
mov edx, dword [ebp - 0x18]
mov dword [edx*4 + 0x60cb88], 7
jmp case.0x497bba.5
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x46c
movsx ecx, word [eax + 0x5ad2ec]
cmp ecx, 9
jne 0x497b62
mov eax, dword [ebp - 0xc]
cdq
xor eax, edx
sub eax, edx
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
je 0x497ae7
mov edx, dword [ebp - 0x18]
mov dword [edx*4 + 0x60cb88], 4
jmp 0x497b5d
cmp dword [ebp - 0xc], 8
jl 0x497afd
mov eax, dword [ebp - 0x18]
mov dword [eax*4 + 0x60cb88], 0x24
jmp 0x497b5d
cmp dword [ebp - 0xc], 4
jl 0x497b13
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 0x25
jmp 0x497b5d
cmp dword [ebp - 0xc], 2
jne 0x497b29
mov edx, dword [ebp - 0x18]
mov dword [edx*4 + 0x60cb88], 0x27
jmp 0x497b5d
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x128
xor ecx, ecx
mov cx, word [eax + 0x600d84]
test ecx, ecx
je 0x497b4f
mov edx, dword [ebp - 0x18]
mov dword [edx*4 + 0x60cb88], 0x17
jmp 0x497b5d
mov eax, dword [ebp - 0x18]
mov dword [eax*4 + 0x60cb88], 7
jmp case.0x497bba.5
cmp dword [ebp - 0xc], 0
jne 0x497b7b
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 8
jmp case.0x497bba.5
mov edx, dword [ebp - 0x18]
mov dword [edx*4 + 0x60cb88], 8
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x46c
movsx ecx, word [eax + 0x5ad2ec]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
sub edx, 1
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0xd
ja case.0x497bba.5
mov ecx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [ecx + 0x4985fc]
jmp dword [eax*4 + 0x4985e4]
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600d82]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x2c
jg 0x497c1a
push 0x58de08
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0xe
add ecx, 0x58d560
push ecx
call fcn.004cfe30
add esp, 8
test eax, eax
je 0x497c1a
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x46c
movsx eax, word [edx + 0x5ad2ec]
imul eax, eax, 0x64
add eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], eax
jmp case.0x497bba.5
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x128
xor eax, eax
mov ax, word [edx + 0x600d82]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x20
jg case.0x497bba.5
push 0x58de18
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0xe
add ecx, 0x58d7c8
push ecx
call fcn.004cfe30
add esp, 8
test eax, eax
je case.0x497bba.5
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x46c
movsx eax, word [edx + 0x5ad2ec]
imul eax, eax, 0x64
add eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [edx*4 + 0x60cb88]
cmp ecx, dword [eax*4 + 0x60cd20]
je 0x4981a1
mov edx, dword [ebp - 0x18]
cmp dword [edx*4 + 0x60cb88], 7
jne 0x497cd7
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0x58d9ea
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov edx, dword [ebp - 0x18]
cmp dword [edx*4 + 0x60cb88], 2
jne 0x497d1f
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0x58d9a4
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov edx, dword [ebp - 0x18]
cmp dword [edx*4 + 0x60cb88], 5
jne 0x497d67
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0x58d9ce
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov edx, dword [ebp - 0x18]
cmp dword [edx*4 + 0x60cb88], 6
jne 0x497daf
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0x58d9dc
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov edx, dword [ebp - 0x18]
cmp dword [edx*4 + 0x60cb88], 8
jne 0x497df7
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0x58d9f8
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov edx, dword [ebp - 0x18]
cmp dword [edx*4 + 0x60cb88], 0x1a
jne 0x497ef9
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x46c
movsx ecx, word [eax + 0x5ad2ec]
cmp ecx, 4
je 0x497e32
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x46c
movsx eax, word [edx + 0x5ad2ec]
cmp eax, 0xf
jne 0x497e78
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
push ecx
mov edx, dword [ebp - 0x10]
add edx, 0x64
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx*4 + 0x60cb88]
imul eax, eax, 0xe
add eax, 0x58d988
push eax
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x497ef4
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x46c
movsx eax, word [edx + 0x5ad2ec]
cmp eax, 8
je 0x497eb7
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x46c
movsx edx, word [ecx + 0x5ad2ec]
cmp edx, 7
je 0x497eb7
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x46c
movsx ecx, word [eax + 0x5ad2ec]
cmp ecx, 6
jne 0x497eef
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x58d934
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov eax, dword [ebp + 8]
push eax
call fcn.00458241
add esp, 0x24
jmp 0x497ef4
jmp 0x4985d4
jmp 0x4981a1
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x46c
movsx edx, word [ecx + 0x5ad2ec]
cmp edx, 4
je 0x497f27
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x46c
movsx ecx, word [eax + 0x5ad2ec]
cmp ecx, 0xf
jne 0x497fc2
mov edx, dword [ebp - 0x18]
cmp dword [edx*4 + 0x60cb88], 0x14
jl 0x497f87
mov eax, dword [ebp - 0x18]
cmp dword [eax*4 + 0x60cb88], 0x1a
jg 0x497f87
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
push ecx
mov edx, dword [ebp - 0x10]
add edx, 0x64
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx*4 + 0x60cb88]
imul eax, eax, 0xe
add eax, 0x58d988
push eax
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x497fbd
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x58d9ea
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov eax, dword [ebp + 8]
push eax
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x46c
movsx edx, word [ecx + 0x5ad2ec]
cmp edx, 9
jne 0x498086
mov eax, dword [ebp - 0x18]
cmp dword [eax*4 + 0x60cb88], 7
je 0x497ff5
mov ecx, dword [ebp - 0x18]
cmp dword [ecx*4 + 0x60cb88], 0x17
jne 0x49803c
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax*4 + 0x60cb88]
imul ecx, ecx, 0xe
add ecx, 0x58d988
push ecx
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov edx, dword [ebp + 8]
push edx
call fcn.00458241
add esp, 0x24
jmp 0x498081
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx*4 + 0x60cb88]
imul edx, edx, 0xe
add edx, 0x58d560
push edx
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov eax, dword [ebp + 8]
push eax
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx*4 + 0x60cb88]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
sub edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0xd
ja case.0x4980b9.5
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov al, byte [ecx + 0x498622]
jmp dword [eax*4 + 0x49860a]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx*4 + 0x60cb88]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0xc]
imul eax, eax, 0xe
add eax, 0x58d560
push eax
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov edx, dword [ebp - 0x18]
mov eax, dword [edx*4 + 0x60cb88]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0xc]
imul eax, eax, 0xe
add eax, 0x58d7c8
push eax
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
jmp 0x4981a1
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x60cee4
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov eax, dword [ebp + 8]
push eax
call fcn.00458241
add esp, 0x24
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [0x60cebc]
jne 0x4981d5
cmp dword [0x60ceb4], 0x42
jl 0x4981c3
mov edx, dword [0x60cebc]
shl edx, 1
mov dword [0x60cebc], edx
mov eax, dword [ebp - 0x10]
add eax, 0x96
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0x14
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx*4 + 0x60cb88]
mov dword [ecx*4 + 0x60cd20], eax
jmp 0x497855
mov ecx, dword [0x5e5800]
add ecx, 0x40
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], 0x41
jmp 0x49820c
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 4]
jg 0x498456
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x18]
sub edx, 0x40
imul edx, edx, 0x118
xor eax, eax
mov ax, word [edx + 0x60b580]
test eax, eax
jne 0x49824a
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 2
jmp 0x4982b7
mov edx, dword [ebp - 0x18]
sub edx, 0x40
imul edx, edx, 0x118
xor eax, eax
mov ax, word [edx + 0x60b57a]
test eax, eax
jne 0x498273
mov ecx, dword [ebp - 0x18]
mov dword [ecx*4 + 0x60cb88], 4
jmp 0x4982b7
mov edx, dword [ebp - 0x18]
sub edx, 0x40
imul edx, edx, 0x118
xor eax, eax
mov ax, word [edx + 0x60b4d6]
add eax, 0xb
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xb
jl 0x4982a9
cmp dword [ebp - 0xc], 0x12
jg 0x4982a9
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0xc]
mov dword [ecx*4 + 0x60cb88], edx
jmp 0x4982b7
mov eax, dword [ebp - 0x18]
mov dword [eax*4 + 0x60cb88], 0x13
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx*4 + 0x60cd20]
cmp eax, dword [edx*4 + 0x60cb88]
je 0x498404
mov ecx, dword [ebp - 0x18]
cmp dword [ecx*4 + 0x60cb88], 2
jne 0x498319
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x58d9a4
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov eax, dword [ebp + 8]
push eax
call fcn.00458241
add esp, 0x24
jmp 0x4983f0
mov ecx, dword [ebp - 0x18]
cmp dword [ecx*4 + 0x60cb88], 4
jne 0x498361
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x58d9c0
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov eax, dword [ebp + 8]
push eax
call fcn.00458241
add esp, 0x24
jmp 0x4983f0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx*4 + 0x60cb88]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0xb
jl 0x4983ba
cmp dword [ebp - 0xc], 0x12
jg 0x4983ba
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0xe
add ecx, 0x58d988
push ecx
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov edx, dword [ebp + 8]
push edx
call fcn.00458241
add esp, 0x24
jmp 0x4983f0
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0x58da92
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00458241
add esp, 0x24
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax*4 + 0x60cb88]
mov dword [edx*4 + 0x60cd20], ecx
mov edx, dword [ebp - 0x18]
sub edx, dword [0x60cec0]
cmp edx, dword [0x60cebc]
jne 0x49843d
cmp dword [0x60ceb4], 0x42
jl 0x49842a
mov eax, dword [0x60cebc]
shl eax, 1
mov dword [0x60cebc], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x96
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], 0x14
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax*4 + 0x60cb88]
mov dword [edx*4 + 0x60cd20], ecx
jmp 0x498203
mov edx, dword [0x5c0824]
and edx, 4
test edx, edx
je 0x4985d2
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x5c]
add ecx, 0x50
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], 0x51
jmp 0x498485
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 4]
jg 0x4985be
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x18]
sub edx, 0x51
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
imul eax, eax, 0x26
xor ecx, ecx
mov cx, word [eax + 0x5ff972]
cmp ecx, 0x13
je 0x4984c7
mov edx, dword [ebp - 0x18]
mov dword [edx*4 + 0x60cb88], 2
jmp 0x4984d5
mov eax, dword [ebp - 0x18]
mov dword [eax*4 + 0x60cb88], 7
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx*4 + 0x60cd20]
cmp eax, dword [edx*4 + 0x60cb88]
je 0x49857e
mov ecx, dword [ebp - 0x18]
cmp dword [ecx*4 + 0x60cb88], 2
jne 0x498534
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x58d9a4
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov eax, dword [ebp + 8]
push eax
call fcn.00458241
add esp, 0x24
jmp 0x49856a
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
push ecx
mov edx, dword [ebp - 0x10]
add edx, 0x64
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x58d9ea
push 0x5c12a8
push 0xffffff
push 0x5c41d0
mov edx, dword [ebp + 8]
push edx
call fcn.00458241
add esp, 0x24
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx*4 + 0x60cb88]
mov dword [eax*4 + 0x60cd20], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [0x60cb80]
cmp eax, dword [0x60cebc]
jne 0x4985b9
cmp dword [0x60ceb4], 0x42
jl 0x4985a6
mov ecx, dword [0x60cebc]
shl ecx, 1
mov dword [0x60cebc], ecx
mov edx, dword [ebp - 0x10]
add edx, 0x96
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], 0x14
jmp 0x49847c
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx*4 + 0x60cb88]
mov dword [eax*4 + 0x60cd20], edx
jmp 0x4985de
jmp 0x498086
jmp 0x497962
mov esp, ebp
pop ebp
ret 4