Function at 0x4024e7
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
nop
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x18]
add eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x20]
and eax, 4
cmp eax, 0
je 0x402533
jmp 0x402548
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
sub eax, ecx
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx]
add eax, edx
dec eax
jmp 0x40254d
mov eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
inc eax
mov ecx, dword [ebp - 0x2c]
and eax, ecx
cmp eax, 0
jne 0x402575
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
cmp eax, ecx
jb 0x402575
jmp 0x40258e
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
mov edx, 0
mov dword [ecx], edx
mov dword [eax], edx
mov eax, 0xfffffffd
jmp 0x405409
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
add eax, 0x38
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + 8]
add eax, 0x20
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 8]
add eax, 0x24
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
add eax, 0x28
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
add eax, 0x3c
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp + 8]
jmp 0x404eee
mov eax, dword [ebp + 8]
add eax, 8
mov ecx, dword [ebp + 8]
add ecx, 0xc
mov edx, 0
mov dword [ecx], edx
mov dword [eax], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 8]
add eax, 0x10
mov ecx, dword [ebp + 8]
add ecx, 0x1c
mov edx, 1
mov dword [ecx], edx
mov dword [eax], edx
mov eax, dword [ebp + 0x20]
and eax, 1
cmp eax, 0
je 0x402831
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x402699
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x402680
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 1
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x40267b
mov eax, dword [ebp + 8]
add eax, 8
mov ecx, dword [ebp - 0x1c]
mov edx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edx]
mov dword [eax], ecx
jmp 0x402694
jmp 0x402692
mov eax, dword [ebp + 8]
add eax, 8
mov ecx, 0
mov dword [eax], ecx
jmp 0x402694
jmp 0x40262e
jmp 0x4026ad
mov eax, dword [ebp + 8]
add eax, 8
mov ecx, dword [ebp - 0x1c]
mov edx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edx]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x402726
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x40270d
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 2
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x402708
mov eax, dword [ebp + 8]
add eax, 0xc
mov ecx, dword [ebp - 0x1c]
mov edx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edx]
mov dword [eax], ecx
jmp 0x402721
jmp 0x40271f
mov eax, dword [ebp + 8]
add eax, 0xc
mov ecx, 0
mov dword [eax], ecx
jmp 0x402721
jmp 0x4026bb
jmp 0x40273a
mov eax, dword [ebp + 8]
add eax, 0xc
mov ecx, dword [ebp - 0x1c]
mov edx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edx]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 8
mov ecx, dword [eax]
shl ecx, 8
mov eax, dword [ebp + 8]
add eax, 0xc
mov edx, dword [eax]
add ecx, edx
mov eax, ecx
mov ecx, 0x1f
xor edx, edx
div ecx
cmp edx, 0
jne 0x402792
mov eax, dword [ebp + 8]
add eax, 0xc
mov ecx, dword [eax]
and ecx, 0x20
cmp ecx, 0
jne 0x402792
mov eax, dword [ebp + 8]
add eax, 8
mov ecx, dword [eax]
and ecx, 0xf
cmp ecx, 8
jne 0x402792
mov eax, 0
jmp 0x402797
mov eax, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x20]
and eax, 4
cmp eax, 0
je 0x4027ae
jmp 0x40280c
mov eax, dword [ebp + 8]
add eax, 8
mov ecx, dword [eax]
shr ecx, 4
add ecx, 8
mov eax, 1
shl eax, cl
cmp eax, 0x8000
ja 0x4027ff
mov eax, dword [ebp - 0x2c]
inc eax
mov ecx, dword [ebp + 8]
add ecx, 8
mov edx, dword [ecx]
shr edx, 4
add edx, 8
mov ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, edx
mov edx, dword [ebp - 0x34]
shl edx, cl
cmp eax, edx
jb 0x4027ff
mov eax, 0
jmp 0x402804
mov eax, 1
mov ecx, dword [ebp - 0x10]
or ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
cmp eax, 0
je 0x402831
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x24
mov dword [eax], ecx
jmp 0x40507b
jmp 0x402818
mov eax, dword [ebp - 8]
cmp eax, 3
jae 0x4028e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x4028ac
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x402898
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 3
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x402893
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x38], eax
jmp 0x4028a7
jmp 0x4028a5
mov eax, 0
mov dword [ebp - 0x38], eax
jmp 0x4028a7
jmp 0x40284b
jmp 0x4028bb
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 3
jb 0x40283d
mov eax, dword [ebp + 8]
add eax, 0x14
mov ecx, dword [ebp - 0x18]
and ecx, 7
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
shr eax, 3
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
sub eax, 3
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x18
mov ecx, dword [ebp + 8]
add ecx, 0x14
mov edx, dword [ecx]
shr edx, 1
mov dword [eax], edx
mov eax, dword [ebp + 8]
add eax, 0x18
mov ecx, dword [eax]
cmp ecx, 0
jne 0x402ebf
mov eax, dword [ebp - 8]
and eax, 7
mov ecx, dword [ebp - 8]
cmp ecx, eax
jae 0x4029dd
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x4029a4
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x402990
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 5
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x40298b
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x3c], eax
jmp 0x40299f
jmp 0x40299d
mov eax, 0
mov dword [ebp - 0x3c], eax
jmp 0x40299f
jmp 0x402943
jmp 0x4029b3
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
and eax, 7
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb 0x402935
mov eax, dword [ebp - 8]
and eax, 7
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x40], ecx
mov ecx, eax
mov eax, dword [ebp - 0x40]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
and eax, 7
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 8], ecx
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 4
jae 0x402bb8
jmp 0x402a23
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
jmp 0x402a09
mov eax, dword [ebp - 8]
cmp eax, 0
je 0x402b0e
mov eax, dword [ebp - 8]
cmp eax, 8
jae 0x402ade
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x402aaa
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x402a96
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 6
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x402a91
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x44], eax
jmp 0x402aa5
jmp 0x402aa3
mov eax, 0
mov dword [ebp - 0x44], eax
jmp 0x402aa5
jmp 0x402a49
jmp 0x402ab9
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 8
jb 0x402a3b
mov eax, dword [ebp + 8]
add eax, 0x2920
mov ecx, dword [ebp - 0x10]
add eax, ecx
mov ecx, dword [ebp - 0x18]
and ecx, 0xff
mov byte [eax], cl
mov eax, dword [ebp - 0x18]
shr eax, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
sub eax, 8
mov dword [ebp - 8], eax
jmp 0x402bb3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x402b97
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x402b76
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 7
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x402b71
mov eax, dword [ebp + 8]
add eax, 0x2920
mov ecx, dword [ebp - 0x10]
add eax, ecx
mov ecx, dword [ebp - 0x1c]
mov edx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edx]
mov byte [eax], cl
jmp 0x402b92
jmp 0x402b90
mov eax, dword [ebp + 8]
add eax, 0x2920
mov ecx, dword [ebp - 0x10]
add eax, ecx
mov ecx, 0
mov byte [eax], cl
jmp 0x402b92
jmp 0x402b1c
jmp 0x402bb3
mov eax, dword [ebp + 8]
add eax, 0x2920
mov ecx, dword [ebp - 0x10]
add eax, ecx
mov ecx, dword [ebp - 0x1c]
mov edx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edx]
mov byte [eax], cl
jmp 0x402a1a
mov eax, dword [ebp + 8]
add eax, 0x2920
mov ecx, dword [ebp + 8]
add ecx, 0x2920
inc ecx
movzx edx, byte [ecx]
shl edx, 8
movzx ecx, byte [eax]
or ecx, edx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
add eax, 0x2920
add eax, 2
mov edx, dword [ebp + 8]
add edx, 0x2920
add edx, 3
mov dword [ebp - 0x48], ecx
movzx ecx, byte [edx]
shl ecx, 8
movzx edx, byte [eax]
or edx, ecx
xor edx, 0xffff
mov eax, dword [ebp - 0x48]
cmp eax, edx
je 0x402c29
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x27
mov dword [eax], ecx
jmp 0x40507b
jmp 0x402c10
mov eax, dword [ebp - 0x10]
cmp eax, 0
je 0x402d59
mov eax, dword [ebp - 8]
cmp eax, 0
je 0x402d59
mov eax, dword [ebp - 8]
cmp eax, 8
jae 0x402cf0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x402cbc
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x402ca8
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x33
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x402ca3
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x4c], eax
jmp 0x402cb7
jmp 0x402cb5
mov eax, 0
mov dword [ebp - 0x4c], eax
jmp 0x402cb7
jmp 0x402c5b
jmp 0x402ccb
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 8
jb 0x402c4d
mov eax, dword [ebp - 0x18]
and eax, 0xff
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
shr eax, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
sub eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
jb 0x402d35
mov eax, 2
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x34
mov dword [eax], ecx
jmp 0x40507b
jmp 0x402d0e
mov eax, dword [ebp - 0x24]
mov ecx, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
and eax, 0xff
mov byte [ecx], al
mov eax, dword [ebp - 0x10]
mov ecx, eax
add eax, 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x402c29
mov eax, dword [ebp - 0x10]
cmp eax, 0
je 0x402eba
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
jb 0x402d8c
mov eax, 2
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 9
mov dword [eax], ecx
jmp 0x40507b
jmp 0x402d65
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x402de0
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x402dc5
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x26
mov dword [eax], ecx
jmp 0x40507b
jmp 0x402dde
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x28
mov dword [eax], ecx
jmp 0x40507b
jmp 0x402dc5
jmp 0x402d8c
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub eax, ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
sub ecx, edx
cmp eax, ecx
mov eax, 0
setb al
cmp eax, 0
je 0x402e10
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub eax, ecx
jmp 0x402e1d
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
jmp 0x402e1d
mov ecx, dword [ebp - 0x10]
cmp eax, ecx
mov eax, 0
setb al
cmp eax, 0
je 0x402e75
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub eax, ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
sub ecx, edx
cmp eax, ecx
mov eax, 0
setb al
cmp eax, 0
je 0x402e63
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub eax, ecx
jmp 0x402e70
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
jmp 0x402e70
jmp 0x402e7d
mov eax, dword [ebp - 0x10]
jmp 0x402e7d
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1c]
add ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x50]
sub eax, ecx
mov dword [ebp - 0x10], eax
jmp 0x402d59
jmp 0x404c08
mov eax, dword [ebp + 8]
add eax, 0x18
mov ecx, dword [eax]
cmp ecx, 3
jne 0x402eee
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0xa
mov dword [eax], ecx
jmp 0x40507b
jmp 0x402ed0
mov eax, dword [ebp + 8]
add eax, 0x18
mov ecx, dword [eax]
cmp ecx, 1
jne 0x40300f
mov eax, dword [ebp + 8]
add eax, 0x40
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
add eax, 0x2c
mov ecx, 0x120
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 0x2c
add eax, 4
mov ecx, 0x20
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0xda0
mov ecx, 0x20
push ecx
mov ecx, 5
push ecx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 0
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, 0x8f
ja 0x402f7d
jmp 0x402f6b
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
jmp 0x402f4e
mov eax, dword [ebp - 0x54]
mov ecx, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, 8
mov byte [ecx], al
jmp 0x402f62
mov eax, dword [ebp - 0x58]
cmp eax, 0xff
ja 0x402fac
jmp 0x402f9a
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
jmp 0x402f7d
mov eax, dword [ebp - 0x54]
mov ecx, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, 9
mov byte [ecx], al
jmp 0x402f91
mov eax, dword [ebp - 0x58]
cmp eax, 0x117
ja 0x402fdb
jmp 0x402fc9
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
jmp 0x402fac
mov eax, dword [ebp - 0x54]
mov ecx, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, 7
mov byte [ecx], al
jmp 0x402fc0
mov eax, dword [ebp - 0x58]
cmp eax, 0x11f
ja 0x40300a
jmp 0x402ff8
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
jmp 0x402fdb
mov eax, dword [ebp - 0x54]
mov ecx, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, 8
mov byte [ecx], al
jmp 0x402fef
jmp 0x4032dc
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 3
jae 0x403188
jmp 0x403033
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x403017
mov eax, dword [ebp - 0x10]
mov ecx, 0x40d328
add ecx, eax
mov eax, dword [ebp - 8]
movsx edx, byte [ecx]
cmp eax, edx
jae 0x4030fa
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x4030ba
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x4030a6
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0xb
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x4030a1
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x5c], eax
jmp 0x4030b5
jmp 0x4030b3
mov eax, 0
mov dword [ebp - 0x5c], eax
jmp 0x4030b5
jmp 0x403059
jmp 0x4030c9
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
mov ecx, 0x40d32c
add ecx, eax
mov eax, dword [ebp - 8]
movsx edx, byte [ecx]
cmp eax, edx
jb 0x40304b
mov eax, dword [ebp + 8]
add eax, 0x2c
mov ecx, dword [ebp - 0x10]
shl ecx, 2
add eax, ecx
mov ecx, dword [ebp - 0x10]
mov edx, 0x40d330
add edx, ecx
mov ecx, 1
mov dword [ebp - 0x60], ecx
movsx ecx, byte [edx]
mov edx, dword [ebp - 0x60]
shl edx, cl
dec edx
mov ecx, dword [ebp - 0x18]
and ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
mov ecx, 0x40d334
add ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
movsx ecx, byte [ecx]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
mov ecx, 0x40d338
add ecx, eax
mov eax, dword [ebp - 8]
movsx edx, byte [ecx]
sub eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x2c
mov ecx, dword [ebp - 0x10]
shl ecx, 2
add eax, ecx
mov ecx, dword [ebp - 0x10]
shl ecx, 2
mov edx, 0x40d31c
add edx, ecx
mov ecx, dword [eax]
mov dword [ebp - 0x68], eax
mov eax, dword [edx]
add ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
jmp 0x403028
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x1b40
mov ecx, 0x120
push ecx
mov ecx, 0
push ecx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
add eax, 0x2c
add eax, 8
mov ecx, dword [ebp - 0x10]
mov edx, dword [eax]
cmp ecx, edx
jae 0x4032cc
jmp 0x4031d7
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x4031b1
mov eax, dword [ebp - 8]
cmp eax, 3
jae 0x403286
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x403252
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x40323e
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0xe
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x403239
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x70], eax
jmp 0x40324d
jmp 0x40324b
mov eax, 0
mov dword [ebp - 0x70], eax
jmp 0x40324d
jmp 0x4031f1
jmp 0x403261
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 3
jb 0x4031e3
mov eax, dword [ebp - 0x18]
and eax, 7
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x18]
shr eax, 3
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
sub eax, 3
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x1b40
mov ecx, dword [ebp - 0x10]
mov edx, 0x40d308
add edx, ecx
movzx ecx, byte [edx]
add eax, ecx
mov ecx, dword [ebp - 0x6c]
and ecx, 0xff
mov byte [eax], cl
jmp 0x4031cc
mov eax, dword [ebp + 8]
add eax, 0x2c
add eax, 8
mov ecx, 0x13
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 0x18
mov ecx, dword [eax]
cmp ecx, 0
jl 0x403dc7
jmp 0x403303
mov eax, dword [ebp + 8]
add eax, 0x18
mov ecx, dword [eax]
mov edx, ecx
add ecx, 0xffffffff
mov dword [eax], ecx
jmp 0x4032dc
mov eax, dword [ebp + 8]
add eax, 0x40
mov ecx, dword [ebp + 8]
add ecx, 0x18
mov edx, dword [ecx]
mov ecx, 0xda0
imul edx, ecx
add eax, edx
mov dword [ebp - 0x7c], eax
mov eax, 0x40
push eax
mov eax, 0
push eax
lea eax, [ebp - 0x114]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x7c]
add eax, 0x120
mov ecx, 0x800
push ecx
mov ecx, 0
push ecx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x7c]
add eax, 0x920
mov ecx, 0x480
push ecx
mov ecx, 0
push ecx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 0
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 8]
add eax, 0x2c
mov ecx, dword [ebp + 8]
add ecx, 0x18
mov edx, dword [ecx]
shl edx, 2
add eax, edx
mov ecx, dword [ebp - 0x80]
mov edx, dword [eax]
cmp ecx, edx
jae 0x4033ca
jmp 0x4033ab
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
jmp 0x40337d
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
add eax, ecx
movzx ecx, byte [eax]
shl ecx, 2
lea eax, [ebp - 0x114]
add eax, ecx
mov ecx, dword [eax]
mov edx, ecx
inc ecx
mov dword [eax], ecx
jmp 0x4033a2
mov eax, 0
mov dword [ebp - 0x88], eax
mov eax, 0
mov dword [ebp - 0x8c], eax
mov eax, 0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd4], eax
mov eax, 1
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
cmp eax, 0xf
ja 0x403471
jmp 0x403413
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
jmp 0x4033f9
mov eax, dword [ebp - 0x80]
shl eax, 2
lea ecx, [ebp - 0x114]
add ecx, eax
mov eax, dword [ebp - 0x88]
mov edx, dword [ecx]
add eax, edx
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
inc eax
shl eax, 2
lea ecx, [ebp - 0xd4]
add ecx, eax
mov eax, dword [ebp - 0x80]
shl eax, 2
lea edx, [ebp - 0x114]
add edx, eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x118], ecx
mov ecx, dword [edx]
add eax, ecx
shl eax, 1
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
jmp 0x40340a
mov eax, 0x10000
mov ecx, dword [ebp - 0x8c]
cmp eax, ecx
je 0x4034ac
mov eax, dword [ebp - 0x88]
cmp eax, 1
jbe 0x4034ac
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x23
mov dword [eax], ecx
jmp 0x40507b
jmp 0x403493
mov eax, 0xffffffff
mov dword [ebp - 0x74], eax
mov eax, 0
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 8]
add eax, 0x2c
mov ecx, dword [ebp + 8]
add ecx, 0x18
mov edx, dword [ecx]
shl edx, 2
add eax, edx
mov ecx, dword [ebp - 0x90]
mov edx, dword [eax]
cmp ecx, edx
jae 0x4037b5
jmp 0x4034f6
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
jmp 0x4034bf
mov eax, 0
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x90]
add eax, ecx
movzx ecx, byte [eax]
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x128]
cmp eax, 0
je 0x403529
jmp 0x40352e
jmp 0x4034e7
mov eax, dword [ebp - 0x128]
shl eax, 2
lea ecx, [ebp - 0xd4]
add ecx, eax
mov eax, dword [ecx]
mov edx, eax
inc eax
mov dword [ecx], eax
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
cmp eax, 0
jbe 0x4035aa
jmp 0x40358e
mov eax, dword [ebp - 0x120]
mov ecx, eax
add eax, 0xffffffff
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x124]
shr eax, 1
mov dword [ebp - 0x124], eax
jmp 0x403558
mov eax, dword [ebp - 0x11c]
shl eax, 1
mov ecx, dword [ebp - 0x124]
and ecx, 1
or eax, ecx
mov dword [ebp - 0x11c], eax
jmp 0x40356c
mov eax, dword [ebp - 0x128]
cmp eax, 0xa
ja 0x403629
mov eax, dword [ebp - 0x128]
shl eax, 9
mov ecx, dword [ebp - 0x90]
or eax, ecx
shl eax, 0x10
sar eax, 0x10
mov word [ebp - 0x12a], ax
mov eax, dword [ebp - 0x11c]
cmp eax, 0x400
jae 0x403624
mov eax, dword [ebp - 0x7c]
add eax, 0x120
mov ecx, dword [ebp - 0x11c]
shl ecx, 1
add eax, ecx
movsx ecx, word [ebp - 0x12a]
mov word [eax], cx
mov eax, 1
mov ecx, dword [ebp - 0x128]
shl eax, cl
mov ecx, dword [ebp - 0x11c]
add ecx, eax
mov dword [ebp - 0x11c], ecx
jmp 0x4035d7
jmp 0x4034e7
mov eax, dword [ebp - 0x7c]
add eax, 0x120
mov ecx, dword [ebp - 0x11c]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x78], ecx
mov eax, 0
cmp eax, ecx
jne 0x40368b
mov eax, dword [ebp - 0x7c]
add eax, 0x120
mov ecx, dword [ebp - 0x11c]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
mov ecx, dword [ebp - 0x74]
shl ecx, 0x10
sar ecx, 0x10
mov word [eax], cx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x74]
sub eax, 2
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x11c]
shr eax, 9
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
cmp eax, 0xb
jbe 0x40376e
jmp 0x4036cd
mov eax, dword [ebp - 0x84]
mov ecx, eax
add eax, 0xffffffff
mov dword [ebp - 0x84], eax
jmp 0x4036a6
mov eax, dword [ebp - 0x11c]
shr eax, 1
mov dword [ebp - 0x11c], eax
and eax, 1
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp - 0x7c]
add eax, 0x920
mov ecx, 0
mov edx, dword [ebp - 0x78]
sub ecx, edx
dec ecx
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
cmp ecx, 0
je 0x403711
jmp 0x40374a
mov eax, dword [ebp - 0x7c]
add eax, 0x920
mov ecx, 0
mov edx, dword [ebp - 0x78]
sub ecx, edx
dec ecx
shl ecx, 1
add eax, ecx
mov ecx, dword [ebp - 0x74]
shl ecx, 0x10
sar ecx, 0x10
mov word [eax], cx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x74]
sub eax, 2
mov dword [ebp - 0x74], eax
jmp 0x403769
mov eax, dword [ebp - 0x7c]
add eax, 0x920
mov ecx, 0
mov edx, dword [ebp - 0x78]
sub ecx, edx
dec ecx
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x78], ecx
jmp 0x4036ba
mov eax, dword [ebp - 0x11c]
shr eax, 1
mov dword [ebp - 0x11c], eax
and eax, 1
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp - 0x7c]
add eax, 0x920
mov ecx, 0
mov edx, dword [ebp - 0x78]
sub ecx, edx
dec ecx
shl ecx, 1
add eax, ecx
mov ecx, dword [ebp - 0x90]
shl ecx, 0x10
sar ecx, 0x10
mov word [eax], cx
jmp 0x4034e7
mov eax, dword [ebp + 8]
add eax, 0x18
mov ecx, dword [eax]
cmp ecx, 2
jne 0x403dc2
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
add eax, 0x2c
mov ecx, dword [ebp + 8]
add ecx, 0x2c
add ecx, 4
mov edx, dword [eax]
mov eax, dword [ecx]
add edx, eax
mov eax, dword [ebp - 0x10]
cmp eax, edx
jae 0x403d1a
mov eax, dword [ebp - 8]
cmp eax, 0xf
jae 0x403a2d
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
cmp eax, 2
jge 0x4039dd
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x1b40
add eax, 0x120
mov ecx, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x134], ecx
mov eax, dword [ebp - 0x134]
cmp eax, 0
jl 0x40387c
mov eax, dword [ebp - 0x134]
sar eax, 9
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
cmp eax, 0
je 0x403877
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x138]
cmp eax, ecx
jb 0x403877
jmp 0x4039d8
jmp 0x403929
mov eax, dword [ebp - 8]
cmp eax, 0xa
jbe 0x403929
mov eax, 0xa
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x1b40
add eax, 0x920
mov ecx, dword [ebp - 0x134]
xor ecx, 0xffffffff
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x140], eax
mov eax, edx
inc edx
mov dword [ebp - 0x138], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x144], ecx
mov ecx, eax
shr edx, cl
and edx, 1
mov eax, dword [ebp - 0x144]
add eax, edx
shl eax, 1
mov ecx, dword [ebp - 0x140]
add ecx, eax
movsx eax, word [ecx]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
cmp eax, 0
jge 0x403915
mov eax, dword [ebp - 0x138]
inc eax
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb 0x403915
jmp 0x403893
mov eax, dword [ebp - 0x134]
cmp eax, 0
jl 0x403929
jmp 0x4039d8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x40399e
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x403987
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x10
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x403982
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x13c], eax
jmp 0x403999
jmp 0x403997
mov eax, 0
mov dword [ebp - 0x13c], eax
jmp 0x403999
jmp 0x403937
jmp 0x4039b0
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 0xf
jb 0x40380b
jmp 0x403a2d
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
mov dword [ebp - 0x148], ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x148]
shl eax, cl
mov ecx, dword [ebp - 0x1c]
inc ecx
mov edx, dword [ebp - 8]
add edx, 8
mov dword [ebp - 0x14c], eax
movzx eax, byte [ecx]
mov ecx, edx
shl eax, cl
mov ecx, dword [ebp - 0x14c]
or ecx, eax
mov eax, dword [ebp - 0x18]
or eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x1b40
add eax, 0x120
mov ecx, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x134], ecx
cmp ecx, 0
jl 0x403a85
mov eax, dword [ebp - 0x134]
sar eax, 9
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x134]
and eax, 0x1ff
mov dword [ebp - 0x134], eax
jmp 0x403afb
mov eax, 0xa
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x1b40
add eax, 0x920
mov ecx, dword [ebp - 0x134]
xor ecx, 0xffffffff
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x150], eax
mov eax, edx
inc edx
mov dword [ebp - 0x138], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x154], ecx
mov ecx, eax
shr edx, cl
and edx, 1
mov eax, dword [ebp - 0x154]
add eax, edx
shl eax, 1
mov ecx, dword [ebp - 0x150]
add ecx, eax
movsx eax, word [ecx]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
cmp eax, 0
jl 0x403a90
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x138]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x138]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0x10
jae 0x403b50
mov eax, dword [ebp + 8]
add eax, 0x2924
mov ecx, dword [ebp - 0x10]
mov edx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
add eax, edx
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
mov byte [eax], cl
jmp 0x4037ce
mov eax, dword [ebp - 0xc]
cmp eax, 0x10
jne 0x403b86
mov eax, dword [ebp - 0x10]
cmp eax, 0
je 0x403b6d
jmp 0x403b86
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x11
mov dword [eax], ecx
jmp 0x40507b
jmp 0x403b6d
mov eax, dword [ebp - 0xc]
sub eax, 0x10
mov ecx, 0x40d33c
add ecx, eax
movsx eax, byte [ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jae 0x403c58
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x403c1c
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x403c05
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x12
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x403c00
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x158], eax
jmp 0x403c17
jmp 0x403c15
mov eax, 0
mov dword [ebp - 0x158], eax
jmp 0x403c17
jmp 0x403bb5
jmp 0x403c2e
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jb 0x403ba7
mov eax, 1
mov ecx, dword [ebp - 0x14]
shl eax, cl
dec eax
mov ecx, dword [ebp - 0x18]
and ecx, eax
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
sub eax, 0x10
mov ecx, 0x40d340
add ecx, eax
mov eax, dword [ebp - 0x130]
movsx edx, byte [ecx]
add eax, edx
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 8]
add eax, 0x2924
mov ecx, dword [ebp - 0x10]
add eax, ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, 0x10
mov ecx, 0
sete cl
mov dword [ebp - 0x15c], eax
cmp ecx, 0
je 0x403ce1
mov eax, dword [ebp + 8]
add eax, 0x2924
mov ecx, dword [ebp - 0x10]
dec ecx
add eax, ecx
jmp 0x403ceb
mov eax, 0
jmp 0x403cf0
movzx ecx, byte [eax]
mov eax, ecx
mov ecx, dword [ebp - 0x130]
push ecx
push eax
mov eax, dword [ebp - 0x15c]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x130]
add eax, ecx
mov dword [ebp - 0x10], eax
jmp 0x4037ce
mov eax, dword [ebp + 8]
add eax, 0x2c
mov ecx, dword [ebp + 8]
add ecx, 0x2c
add ecx, 4
mov edx, dword [eax]
mov eax, dword [ecx]
add edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
je 0x403d53
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x15
mov dword [eax], ecx
jmp 0x40507b
jmp 0x403d3a
mov eax, dword [ebp + 8]
add eax, 0x40
mov ecx, dword [ebp + 8]
add ecx, 0x2924
mov edx, dword [ebp + 8]
add edx, 0x2c
mov dword [ebp - 0x160], eax
mov eax, dword [edx]
push eax
push ecx
mov eax, dword [ebp - 0x160]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0xda0
mov ecx, dword [ebp + 8]
add ecx, 0x2924
mov edx, dword [ebp + 8]
add edx, 0x2c
mov dword [ebp - 0x164], eax
mov eax, dword [edx]
add ecx, eax
mov eax, dword [ebp + 8]
add eax, 0x2c
add eax, 4
mov edx, dword [eax]
push edx
push ecx
mov eax, dword [ebp - 0x164]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x4032f2
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
cmp eax, 4
jl 0x403dee
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub eax, ecx
cmp eax, 2
jl 0x403dee
jmp 0x40415c
mov eax, dword [ebp - 8]
cmp eax, 0xf
jae 0x404021
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
cmp eax, 2
jge 0x403fd1
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x120
mov ecx, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x16c]
cmp eax, 0
jl 0x403e76
mov eax, dword [ebp - 0x16c]
sar eax, 9
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x170]
cmp eax, 0
je 0x403e71
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x170]
cmp eax, ecx
jb 0x403e71
jmp 0x403fcc
jmp 0x403f1d
mov eax, dword [ebp - 8]
cmp eax, 0xa
jbe 0x403f1d
mov eax, 0xa
mov dword [ebp - 0x170], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x920
mov ecx, dword [ebp - 0x16c]
xor ecx, 0xffffffff
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x178], eax
mov eax, edx
inc edx
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x17c], ecx
mov ecx, eax
shr edx, cl
and edx, 1
mov eax, dword [ebp - 0x17c]
add eax, edx
shl eax, 1
mov ecx, dword [ebp - 0x178]
add ecx, eax
movsx eax, word [ecx]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cmp eax, 0
jge 0x403f09
mov eax, dword [ebp - 0x170]
inc eax
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb 0x403f09
jmp 0x403e8d
mov eax, dword [ebp - 0x16c]
cmp eax, 0
jl 0x403f1d
jmp 0x403fcc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x403f92
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x403f7b
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x17
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x403f76
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x174], eax
jmp 0x403f8d
jmp 0x403f8b
mov eax, 0
mov dword [ebp - 0x174], eax
jmp 0x403f8d
jmp 0x403f2b
jmp 0x403fa4
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 0xf
jb 0x403e0b
jmp 0x404021
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
mov dword [ebp - 0x180], ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x180]
shl eax, cl
mov ecx, dword [ebp - 0x1c]
inc ecx
mov edx, dword [ebp - 8]
add edx, 8
mov dword [ebp - 0x184], eax
movzx eax, byte [ecx]
mov ecx, edx
shl eax, cl
mov ecx, dword [ebp - 0x184]
or ecx, eax
mov eax, dword [ebp - 0x18]
or eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x120
mov ecx, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x16c], ecx
cmp ecx, 0
jl 0x404073
mov eax, dword [ebp - 0x16c]
sar eax, 9
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x16c]
and eax, 0x1ff
mov dword [ebp - 0x16c], eax
jmp 0x4040e3
mov eax, 0xa
mov dword [ebp - 0x170], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x920
mov ecx, dword [ebp - 0x16c]
xor ecx, 0xffffffff
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x188], eax
mov eax, edx
inc edx
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x18c], ecx
mov ecx, eax
shr edx, cl
and edx, 1
mov eax, dword [ebp - 0x18c]
add eax, edx
shl eax, 1
mov ecx, dword [ebp - 0x188]
add ecx, eax
movsx eax, word [ecx]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cmp eax, 0
jl 0x40407e
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x170]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x170]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0x100
jb 0x40411c
jmp 0x4043e8
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
jb 0x404143
mov eax, 2
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x18
mov dword [eax], ecx
jmp 0x40507b
jmp 0x40411c
mov eax, dword [ebp - 0x24]
mov ecx, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
and eax, 0xff
mov byte [ecx], al
jmp 0x4043e3
mov eax, dword [ebp - 8]
cmp eax, 0xf
jae 0x404199
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax]
mov dword [ebp - 0x198], ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x198]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x120
mov ecx, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x190], ecx
cmp ecx, 0
jl 0x4041d9
mov eax, dword [ebp - 0x190]
sar eax, 9
mov dword [ebp - 0x194], eax
jmp 0x404249
mov eax, 0xa
mov dword [ebp - 0x194], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x920
mov ecx, dword [ebp - 0x190]
xor ecx, 0xffffffff
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x19c], eax
mov eax, edx
inc edx
mov dword [ebp - 0x194], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1a0], ecx
mov ecx, eax
shr edx, cl
and edx, 1
mov eax, dword [ebp - 0x1a0]
add eax, edx
shl eax, 1
mov ecx, dword [ebp - 0x19c]
add ecx, eax
movsx eax, word [ecx]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
cmp eax, 0
jl 0x4041e4
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x194]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x194]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
and eax, 0x100
cmp eax, 0
je 0x404285
jmp 0x4043e8
mov eax, dword [ebp - 8]
cmp eax, 0xf
jae 0x4042c2
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax]
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1a4]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x120
mov ecx, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x190], ecx
cmp ecx, 0
jl 0x404302
mov eax, dword [ebp - 0x190]
sar eax, 9
mov dword [ebp - 0x194], eax
jmp 0x404372
mov eax, 0xa
mov dword [ebp - 0x194], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0x920
mov ecx, dword [ebp - 0x190]
xor ecx, 0xffffffff
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x1a8], eax
mov eax, edx
inc edx
mov dword [ebp - 0x194], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1ac], ecx
mov ecx, eax
shr edx, cl
and edx, 1
mov eax, dword [ebp - 0x1ac]
add eax, edx
shl eax, 1
mov ecx, dword [ebp - 0x1a8]
add ecx, eax
movsx eax, word [ecx]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
cmp eax, 0
jl 0x40430d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x194]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x194]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
and ecx, 0xff
mov byte [eax], cl
mov eax, dword [ebp - 0x190]
and eax, 0x100
cmp eax, 0
je 0x4043c8
mov eax, dword [ebp - 0x24]
mov ecx, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x10], eax
jmp 0x4043e8
mov eax, dword [ebp - 0x24]
inc eax
mov ecx, dword [ebp - 0x190]
and ecx, 0xff
mov byte [eax], cl
mov eax, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x24], eax
jmp 0x403dc7
mov eax, dword [ebp - 0x10]
and eax, 0x1ff
mov dword [ebp - 0x10], eax
cmp eax, 0x100
jne 0x404405
jmp 0x404c08
mov eax, dword [ebp - 0x10]
sub eax, 0x101
shl eax, 2
mov ecx, 0x40d18c
add ecx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
sub eax, 0x101
shl eax, 2
mov ecx, 0x40d110
add ecx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0
je 0x40453a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jae 0x404500
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x4044c4
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x4044ad
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x19
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x4044a8
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1b4], eax
jmp 0x4044bf
jmp 0x4044bd
mov eax, 0
mov dword [ebp - 0x1b4], eax
jmp 0x4044bf
jmp 0x40445d
jmp 0x4044d6
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jb 0x40444f
mov eax, 1
mov ecx, dword [ebp - 0x14]
shl eax, cl
dec eax
mov ecx, dword [ebp - 0x18]
and ecx, eax
mov dword [ebp - 0x1b0], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1b0]
add eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp eax, 0xf
jae 0x404779
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
cmp eax, 2
jge 0x404729
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0xda0
add eax, 0x120
mov ecx, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x1b8], ecx
mov eax, dword [ebp - 0x1b8]
cmp eax, 0
jl 0x4045c8
mov eax, dword [ebp - 0x1b8]
sar eax, 9
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
cmp eax, 0
je 0x4045c3
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1bc]
cmp eax, ecx
jb 0x4045c3
jmp 0x404724
jmp 0x404675
mov eax, dword [ebp - 8]
cmp eax, 0xa
jbe 0x404675
mov eax, 0xa
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0xda0
add eax, 0x920
mov ecx, dword [ebp - 0x1b8]
xor ecx, 0xffffffff
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c4], eax
mov eax, edx
inc edx
mov dword [ebp - 0x1bc], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c8], ecx
mov ecx, eax
shr edx, cl
and edx, 1
mov eax, dword [ebp - 0x1c8]
add eax, edx
shl eax, 1
mov ecx, dword [ebp - 0x1c4]
add ecx, eax
movsx eax, word [ecx]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
cmp eax, 0
jge 0x404661
mov eax, dword [ebp - 0x1bc]
inc eax
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb 0x404661
jmp 0x4045df
mov eax, dword [ebp - 0x1b8]
cmp eax, 0
jl 0x404675
jmp 0x404724
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x4046ea
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x4046d3
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x1a
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x4046ce
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1c0], eax
jmp 0x4046e5
jmp 0x4046e3
mov eax, 0
mov dword [ebp - 0x1c0], eax
jmp 0x4046e5
jmp 0x404683
jmp 0x4046fc
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 0xf
jb 0x404557
jmp 0x404779
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
mov dword [ebp - 0x1cc], ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1cc]
shl eax, cl
mov ecx, dword [ebp - 0x1c]
inc ecx
mov edx, dword [ebp - 8]
add edx, 8
mov dword [ebp - 0x1d0], eax
movzx eax, byte [ecx]
mov ecx, edx
shl eax, cl
mov ecx, dword [ebp - 0x1d0]
or ecx, eax
mov eax, dword [ebp - 0x18]
or eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0xda0
add eax, 0x120
mov ecx, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 1
add eax, ecx
movsx ecx, word [eax]
mov dword [ebp - 0x1b8], ecx
cmp ecx, 0
jl 0x4047d1
mov eax, dword [ebp - 0x1b8]
sar eax, 9
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1b8]
and eax, 0x1ff
mov dword [ebp - 0x1b8], eax
jmp 0x404847
mov eax, 0xa
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp + 8]
add eax, 0x40
add eax, 0xda0
add eax, 0x920
mov ecx, dword [ebp - 0x1b8]
xor ecx, 0xffffffff
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1d4], eax
mov eax, edx
inc edx
mov dword [ebp - 0x1bc], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1d8], ecx
mov ecx, eax
shr edx, cl
and edx, 1
mov eax, dword [ebp - 0x1d8]
add eax, edx
shl eax, 1
mov ecx, dword [ebp - 0x1d4]
add ecx, eax
movsx eax, word [ecx]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
cmp eax, 0
jl 0x4047dc
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1bc]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1bc]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
shl eax, 2
mov ecx, 0x40d288
add ecx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
shl eax, 2
mov ecx, 0x40d208
add ecx, eax
mov eax, dword [ecx]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0
je 0x404995
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jae 0x40495b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x40491f
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x404908
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x1b
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x404903
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1e0], eax
jmp 0x40491a
jmp 0x404918
mov eax, 0
mov dword [ebp - 0x1e0], eax
jmp 0x40491a
jmp 0x4048b8
jmp 0x404931
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jb 0x4048aa
mov eax, 1
mov ecx, dword [ebp - 0x14]
shl eax, cl
dec eax
mov ecx, dword [ebp - 0x18]
and ecx, eax
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1dc]
add eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 0x14]
sub eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
jbe 0x4049d6
mov eax, dword [ebp + 0x20]
and eax, 4
cmp eax, 0
je 0x4049d6
mov eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x25
mov dword [eax], ecx
jmp 0x40507b
jmp 0x4049bd
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
and eax, ecx
mov ecx, dword [ebp + 0x14]
add ecx, eax
mov dword [ebp - 0x168], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x168]
cmp eax, ecx
mov eax, 0
seta al
cmp eax, 0
je 0x404a0f
jmp 0x404a1a
mov eax, dword [ebp - 0x168]
jmp 0x404a1d
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
add eax, ecx
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
jbe 0x404a9a
mov eax, dword [ebp - 0x10]
mov ecx, eax
add eax, 0xffffffff
mov dword [ebp - 0x10], eax
cmp ecx, 0
je 0x404a90
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
jb 0x404a68
mov eax, 2
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x35
mov dword [eax], ecx
jmp 0x40507b
jmp 0x404a41
mov eax, dword [ebp - 0x24]
mov ecx, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
mov edx, eax
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
sub edx, eax
mov eax, dword [ebp - 0x2c]
and edx, eax
mov eax, dword [ebp + 0x14]
add eax, edx
movzx edx, byte [eax]
mov byte [ecx], dl
jmp 0x404a2d
jmp 0x403dc7
mov eax, dword [ebp - 0x10]
cmp eax, 9
jb 0x404b66
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
ja 0x404b66
mov eax, dword [ebp - 0x10]
and eax, 0xfffffff8
mov ecx, dword [ebp - 0x168]
add ecx, eax
mov dword [ebp - 0x1e4], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
add eax, 4
mov ecx, dword [ebp - 0x168]
add ecx, 4
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
add eax, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x168]
add eax, 8
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x1e4]
cmp eax, ecx
jb 0x404ac8
mov eax, dword [ebp - 0x10]
and eax, 7
mov dword [ebp - 0x10], eax
cmp eax, 3
jae 0x404b66
mov eax, dword [ebp - 0x10]
cmp eax, 0
je 0x404b61
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x168]
movzx edx, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x10]
cmp eax, 1
jbe 0x404b56
mov eax, dword [ebp - 0x24]
inc eax
mov ecx, dword [ebp - 0x168]
inc ecx
movzx edx, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
jmp 0x403dc7
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x168]
movzx edx, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x24]
inc eax
mov ecx, dword [ebp - 0x168]
inc ecx
movzx edx, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x24]
add eax, 2
mov ecx, dword [ebp - 0x168]
add ecx, 2
movzx edx, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x24]
add eax, 3
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x168]
add eax, 3
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x10]
sub eax, 3
mov dword [ebp - 0x10], eax
cmp eax, 2
jg 0x404b66
mov eax, dword [ebp - 0x10]
cmp eax, 0
jle 0x404c03
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x168]
movzx edx, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x10]
cmp eax, 1
jle 0x404bf8
mov eax, dword [ebp - 0x24]
inc eax
mov ecx, dword [ebp - 0x168]
inc ecx
movzx edx, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
jmp 0x403dc7
mov eax, dword [ebp + 8]
add eax, 0x14
mov ecx, dword [eax]
and ecx, 1
cmp ecx, 0
je 0x402831
mov eax, dword [ebp + 0x20]
and eax, 1
cmp eax, 0
je 0x404ed0
mov eax, dword [ebp - 8]
and eax, 7
mov ecx, dword [ebp - 8]
cmp ecx, eax
jae 0x404cf0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x404cb1
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x404c9a
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x20
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x404c95
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1e8], eax
jmp 0x404cac
jmp 0x404caa
mov eax, 0
mov dword [ebp - 0x1e8], eax
jmp 0x404cac
jmp 0x404c4a
jmp 0x404cc3
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
and eax, 7
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb 0x404c3c
mov eax, dword [ebp - 8]
and eax, 7
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1ec], ecx
mov ecx, eax
mov eax, dword [ebp - 0x1ec]
shr eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
and eax, 7
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 8], ecx
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 4
jae 0x404ed0
jmp 0x404d3c
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
jmp 0x404d22
mov eax, dword [ebp - 8]
cmp eax, 0
je 0x404e29
mov eax, dword [ebp - 8]
cmp eax, 8
jae 0x404e03
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x404dc9
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x404db2
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x29
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x404dad
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1f4], eax
jmp 0x404dc4
jmp 0x404dc2
mov eax, 0
mov dword [ebp - 0x1f4], eax
jmp 0x404dc4
jmp 0x404d62
jmp 0x404ddb
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
add eax, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 8
jb 0x404d54
mov eax, dword [ebp - 0x18]
and eax, 0xff
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x18]
shr eax, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
sub eax, 8
mov dword [ebp - 8], eax
jmp 0x404eb0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jb 0x404e9e
mov eax, dword [ebp + 0x20]
and eax, 2
cmp eax, 0
je 0x404e87
mov eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x2a
mov dword [eax], ecx
jmp 0x40507b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x404e82
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1f0], eax
jmp 0x404e99
jmp 0x404e97
mov eax, 0
mov dword [ebp - 0x1f0], eax
jmp 0x404e99
jmp 0x404e37
jmp 0x404eb0
mov eax, dword [ebp - 0x1c]
mov ecx, eax
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov ecx, dword [ebp + 8]
add ecx, 0x10
mov edx, dword [ecx]
shl edx, 8
mov ecx, dword [ebp - 0x1f0]
or edx, ecx
mov dword [eax], edx
jmp 0x404d33
mov eax, 0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x22
mov dword [eax], ecx
jmp 0x40507b
jmp 0x404ed0
mov ecx, dword [eax]
cmp ecx, 0x18
ja 0x404fc1
cmp ecx, 0x18
jae 0x404141
cmp ecx, 0xa
ja 0x404f6f
cmp ecx, 0xa
jae 0x402ee7
cmp ecx, 5
ja 0x404f4f
cmp ecx, 5
jae 0x402969
cmp ecx, 0
je 0x4025d8
cmp ecx, 1
je 0x402654
cmp ecx, 2
je 0x4026e1
cmp ecx, 3
je 0x402871
jmp 0x40507b
cmp ecx, 6
je 0x402a6f
cmp ecx, 7
je 0x402b42
cmp ecx, 9
je 0x402d8a
jmp 0x40507b
cmp ecx, 0x11
ja 0x404fa1
cmp ecx, 0x11
jae 0x403b84
cmp ecx, 0xb
je 0x40307f
cmp ecx, 0xe
je 0x403217
cmp ecx, 0x10
je 0x40395d
jmp 0x40507b
cmp ecx, 0x12
je 0x403bdb
cmp ecx, 0x15
je 0x403d51
cmp ecx, 0x17
je 0x403f51
jmp 0x40507b
cmp ecx, 0x26
ja 0x40502e
cmp ecx, 0x26
jae 0x402dc0
cmp ecx, 0x22
ja 0x40500e
cmp ecx, 0x22
jae 0x404ee7
cmp ecx, 0x19
je 0x404483
cmp ecx, 0x1a
je 0x4046a9
cmp ecx, 0x1b
je 0x4048de
cmp ecx, 0x20
je 0x404c70
jmp 0x40507b
cmp ecx, 0x23
je 0x4034aa
cmp ecx, 0x24
je 0x40282f
cmp ecx, 0x25
je 0x4049d4
jmp 0x40507b
cmp ecx, 0x2a
ja 0x405060
cmp ecx, 0x2a
jae 0x404e5d
cmp ecx, 0x27
je 0x402c27
cmp ecx, 0x28
je 0x402ddc
cmp ecx, 0x29
je 0x404d88
jmp 0x40507b
cmp ecx, 0x33
je 0x402c81
cmp ecx, 0x34
je 0x402d33
cmp ecx, 0x35
je 0x404a66
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 0x38
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 0x20
mov ecx, dword [ebp - 0xc]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 0x24
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 0x28
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
add eax, 0x3c
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0xc]
sub ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0x18]
sub ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
and eax, 9
cmp eax, 0
je 0x405406
mov eax, dword [ebp - 4]
cmp eax, 0
jl 0x405406
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ebp + 8]
add eax, 0x1c
mov ecx, dword [eax]
and ecx, 0xffff
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp + 8]
add eax, 0x1c
mov ecx, dword [eax]
shr ecx, 0x10
mov dword [ebp - 0x208], ecx
mov eax, dword [ebp - 0x1fc]
mov ecx, 0x15b0
xor edx, edx
div ecx
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x1fc]
cmp eax, 0
je 0x4053b2
mov eax, 0
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
add eax, 7
mov ecx, dword [ebp - 0x20c]
cmp eax, ecx
jae 0x405306
jmp 0x405196
mov eax, dword [ebp - 0x200]
add eax, 8
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x1f8]
add eax, 8
mov dword [ebp - 0x1f8], eax
jmp 0x40515a
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x204]
movzx edx, byte [eax]
add ecx, edx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x1f8]
inc eax
mov ecx, dword [ebp - 0x204]
movzx edx, byte [eax]
add ecx, edx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x1f8]
add eax, 2
mov ecx, dword [ebp - 0x204]
movzx edx, byte [eax]
add ecx, edx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x1f8]
add eax, 3
mov ecx, dword [ebp - 0x204]
movzx edx, byte [eax]
add ecx, edx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x1f8]
add eax, 4
mov ecx, dword [ebp - 0x204]
movzx edx, byte [eax]
add ecx, edx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x1f8]
add eax, 5
mov ecx, dword [ebp - 0x204]
movzx edx, byte [eax]
add ecx, edx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x1f8]
add eax, 6
mov ecx, dword [ebp - 0x204]
movzx edx, byte [eax]
add ecx, edx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x1f8]
add eax, 7
mov ecx, dword [ebp - 0x204]
movzx edx, byte [eax]
add ecx, edx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
jmp 0x405176
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x20c]
cmp eax, ecx
jae 0x405364
jmp 0x40532e
mov eax, dword [ebp - 0x200]
inc eax
mov dword [ebp - 0x200], eax
jmp 0x405306
mov eax, dword [ebp - 0x1f8]
mov ecx, eax
inc eax
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x204]
movzx edx, byte [ecx]
add eax, edx
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x208], eax
jmp 0x40531f
mov eax, dword [ebp - 0x204]
mov ecx, 0xfff1
xor edx, edx
div ecx
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x208]
mov ecx, 0xfff1
xor edx, edx
div ecx
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x20c]
sub eax, ecx
mov dword [ebp - 0x1fc], eax
mov eax, 0x15b0
mov dword [ebp - 0x20c], eax
jmp 0x405140
mov eax, dword [ebp + 8]
add eax, 0x1c
mov ecx, dword [ebp - 0x208]
shl ecx, 0x10
mov edx, dword [ebp - 0x204]
add ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp - 4]
cmp eax, 0
jne 0x405406
mov eax, dword [ebp + 0x20]
and eax, 1
cmp eax, 0
je 0x405406
mov eax, dword [ebp + 8]
add eax, 0x1c
mov ecx, dword [ebp + 8]
add ecx, 0x10
mov edx, dword [eax]
mov eax, dword [ecx]
cmp edx, eax
je 0x405406
mov eax, 0xfffffffe
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
leave
ret