992ec9:	83 6e 0c 01          	subl   $0x1,0xc(%esi)
992ecd:	89 7e 10             	mov    %edi,0x10(%esi)
992ed0:	75 07                	jne    0x992ed9
992ed2:	8b ce                	mov    %esi,%ecx
992ed4:	e8 6c 61 aa ff       	call   0x439045
992ed9:	5f                   	pop    %edi
992eda:	5e                   	pop    %esi
992edb:	5d                   	pop    %ebp
992edc:	c2 04 00             	ret    $0x4
992edf:	e8 82 f0 a9 ff       	call   0x431f66
992ee4:	cc                   	int3
992ee5:	cc                   	int3
992ee6:	cc                   	int3
992ee7:	cc                   	int3
992ee8:	cc                   	int3
992ee9:	cc                   	int3
992eea:	cc                   	int3
992eeb:	cc                   	int3
992eec:	cc                   	int3
992eed:	cc                   	int3
992eee:	cc                   	int3
992eef:	cc                   	int3
992ef0:	cc                   	int3
992ef1:	cc                   	int3
992ef2:	cc                   	int3
992ef3:	55                   	push   %ebp
992ef4:	8b ec                	mov    %esp,%ebp
992ef6:	56                   	push   %esi
992ef7:	57                   	push   %edi
992ef8:	ff 75 08             	push   0x8(%ebp)
992efb:	8b f1                	mov    %ecx,%esi
992efd:	e8 b0 56 a7 ff       	call   0x4085b2
992f02:	8b 7d 10             	mov    0x10(%ebp),%edi
992f05:	33 d2                	xor    %edx,%edx
992f07:	89 07                	mov    %eax,(%edi)
992f09:	f7 76 08             	divl   0x8(%esi)
992f0c:	8b 45 0c             	mov    0xc(%ebp),%eax
992f0f:	89 10                	mov    %edx,(%eax)
992f11:	8b 76 04             	mov    0x4(%esi),%esi
992f14:	85 f6                	test   %esi,%esi
992f16:	74 21                	je     0x992f39
992f18:	8b 34 96             	mov    (%esi,%edx,4),%esi
992f1b:	eb 18                	jmp    0x992f35
992f1d:	8b 46 04             	mov    0x4(%esi),%eax
992f20:	3b 07                	cmp    (%edi),%eax
992f22:	75 0f                	jne    0x992f33
992f24:	ff 75 08             	push   0x8(%ebp)
992f27:	8d 4e 08             	lea    0x8(%esi),%ecx
992f2a:	e8 fb 01 a7 ff       	call   0x40312a
992f2f:	85 c0                	test   %eax,%eax
992f31:	74 0e                	je     0x992f41
992f33:	8b 36                	mov    (%esi),%esi
992f35:	85 f6                	test   %esi,%esi
992f37:	75 e4                	jne    0x992f1d
992f39:	33 c0                	xor    %eax,%eax
992f3b:	5f                   	pop    %edi
992f3c:	5e                   	pop    %esi
992f3d:	5d                   	pop    %ebp
992f3e:	c2 0c 00             	ret    $0xc
992f41:	8b c6                	mov    %esi,%eax
992f43:	eb f6                	jmp    0x992f3b
992f45:	cc                   	int3
992f46:	cc                   	int3
992f47:	cc                   	int3
992f48:	cc                   	int3
992f49:	cc                   	int3
992f4a:	cc                   	int3
992f4b:	cc                   	int3
992f4c:	cc                   	int3
992f4d:	cc                   	int3
992f4e:	cc                   	int3
992f4f:	cc                   	int3
992f50:	cc                   	int3
992f51:	cc                   	int3
992f52:	cc                   	int3
992f53:	cc                   	int3
992f54:	cc                   	int3
992f55:	cc                   	int3
992f56:	cc                   	int3
992f57:	cc                   	int3
992f58:	cc                   	int3
992f59:	55                   	push   %ebp
992f5a:	8b ec                	mov    %esp,%ebp
992f5c:	51                   	push   %ecx
992f5d:	53                   	push   %ebx
992f5e:	8b 5d 08             	mov    0x8(%ebp),%ebx
992f61:	56                   	push   %esi
992f62:	57                   	push   %edi
992f63:	8b f9                	mov    %ecx,%edi
992f65:	8b 33                	mov    (%ebx),%esi
992f67:	85 f6                	test   %esi,%esi
992f69:	74 67                	je     0x992fd2
992f6b:	83 fe ff             	cmp    $0xffffffff,%esi
992f6e:	75 1b                	jne    0x992f8b
992f70:	33 c0                	xor    %eax,%eax
992f72:	39 47 08             	cmp    %eax,0x8(%edi)
992f75:	76 14                	jbe    0x992f8b
992f77:	8b 4f 04             	mov    0x4(%edi),%ecx
992f7a:	8b 31                	mov    (%ecx),%esi
992f7c:	85 f6                	test   %esi,%esi
992f7e:	75 0b                	jne    0x992f8b
992f80:	40                   	inc    %eax
992f81:	83 c1 04             	add    $0x4,%ecx
992f84:	3b 47 08             	cmp    0x8(%edi),%eax
992f87:	72 f1                	jb     0x992f7a
992f89:	eb 50                	jmp    0x992fdb
992f8b:	8b 0e                	mov    (%esi),%ecx
992f8d:	85 c9                	test   %ecx,%ecx
992f8f:	75 2b                	jne    0x992fbc
992f91:	8b 47 08             	mov    0x8(%edi),%eax
992f94:	33 d2                	xor    %edx,%edx
992f96:	89 45 fc             	mov    %eax,-0x4(%ebp)
992f99:	8b 46 04             	mov    0x4(%esi),%eax
992f9c:	f7 77 08             	divl   0x8(%edi)
992f9f:	42                   	inc    %edx
992fa0:	3b 57 08             	cmp    0x8(%edi),%edx
992fa3:	73 17                	jae    0x992fbc
992fa5:	8b 47 04             	mov    0x4(%edi),%eax
992fa8:	8b 7d fc             	mov    -0x4(%ebp),%edi
992fab:	8d 04 90             	lea    (%eax,%edx,4),%eax
992fae:	8b 08                	mov    (%eax),%ecx
992fb0:	85 c9                	test   %ecx,%ecx
992fb2:	75 08                	jne    0x992fbc
992fb4:	42                   	inc    %edx
992fb5:	83 c0 04             	add    $0x4,%eax
992fb8:	3b d7                	cmp    %edi,%edx
992fba:	72 f2                	jb     0x992fae
992fbc:	8d 46 08             	lea    0x8(%esi),%eax
992fbf:	89 0b                	mov    %ecx,(%ebx)
992fc1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
992fc4:	50                   	push   %eax
992fc5:	e8 23 f7 a7 ff       	call   0x4126ed
992fca:	8b 45 10             	mov    0x10(%ebp),%eax
992fcd:	8b 4e 0c             	mov    0xc(%esi),%ecx
992fd0:	89 08                	mov    %ecx,(%eax)
992fd2:	5f                   	pop    %edi
992fd3:	5e                   	pop    %esi
992fd4:	5b                   	pop    %ebx
992fd5:	8b e5                	mov    %ebp,%esp
992fd7:	5d                   	pop    %ebp
992fd8:	c2 0c 00             	ret    $0xc
992fdb:	e8 86 ef a9 ff       	call   0x431f66
992fe0:	cc                   	int3
992fe1:	cc                   	int3
992fe2:	cc                   	int3
992fe3:	cc                   	int3
992fe4:	cc                   	int3
992fe5:	cc                   	int3
992fe6:	cc                   	int3
992fe7:	cc                   	int3
992fe8:	cc                   	int3
992fe9:	cc                   	int3
992fea:	cc                   	int3
992feb:	cc                   	int3
992fec:	cc                   	int3
992fed:	cc                   	int3
992fee:	cc                   	int3
992fef:	cc                   	int3
992ff0:	cc                   	int3
992ff1:	cc                   	int3
992ff2:	cc                   	int3
992ff3:	cc                   	int3
992ff4:	cc                   	int3
992ff5:	cc                   	int3
992ff6:	cc                   	int3
992ff7:	cc                   	int3
992ff8:	cc                   	int3
992ff9:	cc                   	int3
992ffa:	cc                   	int3
992ffb:	cc                   	int3
992ffc:	cc                   	int3
992ffd:	cc                   	int3
992ffe:	cc                   	int3
992fff:	cc                   	int3
993000:	cc                   	int3
993001:	cc                   	int3
993002:	cc                   	int3
993003:	b8 04 e1 c5 00       	mov    $0xc5e104,%eax
993008:	c3                   	ret
993009:	55                   	push   %ebp
99300a:	8b ec                	mov    %esp,%ebp
99300c:	51                   	push   %ecx
99300d:	51                   	push   %ecx
99300e:	53                   	push   %ebx
99300f:	56                   	push   %esi
993010:	8b 75 08             	mov    0x8(%ebp),%esi
993013:	57                   	push   %edi
993014:	85 f6                	test   %esi,%esi
993016:	74 46                	je     0x99305e
993018:	56                   	push   %esi
993019:	bb c5 9d 1c 81       	mov    $0x811c9dc5,%ebx
99301e:	33 ff                	xor    %edi,%edi
993020:	e8 67 1b a8 ff       	call   0x414b8c
993025:	59                   	pop    %ecx
993026:	33 d2                	xor    %edx,%edx
993028:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
99302f:	8b c8                	mov    %eax,%ecx
993031:	f7 75 fc             	divl   -0x4(%ebp)
993034:	89 45 fc             	mov    %eax,-0x4(%ebp)
993037:	85 c9                	test   %ecx,%ecx
993039:	74 18                	je     0x993053
99303b:	8b d1                	mov    %ecx,%edx
99303d:	8b 45 fc             	mov    -0x4(%ebp),%eax
993040:	0f b7 0c 7e          	movzwl (%esi,%edi,2),%ecx
993044:	40                   	inc    %eax
993045:	69 db 93 01 00 01    	imul   $0x1000193,%ebx,%ebx
99304b:	03 f8                	add    %eax,%edi
99304d:	33 d9                	xor    %ecx,%ebx
99304f:	3b fa                	cmp    %edx,%edi
993051:	72 ea                	jb     0x99303d
993053:	5f                   	pop    %edi
993054:	5e                   	pop    %esi
993055:	8b c3                	mov    %ebx,%eax
993057:	5b                   	pop    %ebx
993058:	8b e5                	mov    %ebp,%esp
99305a:	5d                   	pop    %ebp
99305b:	c2 04 00             	ret    $0x4
99305e:	e8 03 ef a9 ff       	call   0x431f66
993063:	cc                   	int3
993064:	cc                   	int3
993065:	cc                   	int3
993066:	cc                   	int3
993067:	cc                   	int3
993068:	cc                   	int3
993069:	cc                   	int3
99306a:	cc                   	int3
99306b:	cc                   	int3
99306c:	cc                   	int3
99306d:	cc                   	int3
99306e:	cc                   	int3
99306f:	cc                   	int3
993070:	cc                   	int3
993071:	cc                   	int3
993072:	cc                   	int3
993073:	cc                   	int3
993074:	cc                   	int3
993075:	cc                   	int3
993076:	cc                   	int3
993077:	cc                   	int3
993078:	cc                   	int3
993079:	cc                   	int3
99307a:	55                   	push   %ebp
99307b:	8b ec                	mov    %esp,%ebp
99307d:	56                   	push   %esi
99307e:	8b 75 08             	mov    0x8(%ebp),%esi
993081:	57                   	push   %edi
993082:	8b f9                	mov    %ecx,%edi
993084:	85 f6                	test   %esi,%esi
993086:	75 03                	jne    0x99308b
993088:	6a 11                	push   $0x11
99308a:	5e                   	pop    %esi
99308b:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
99308f:	74 0d                	je     0x99309e
993091:	ff 77 04             	push   0x4(%edi)
993094:	e8 79 b5 aa ff       	call   0x43e612
993099:	83 67 04 00          	andl   $0x0,0x4(%edi)
99309d:	59                   	pop    %ecx
99309e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
9930a2:	74 2a                	je     0x9930ce
9930a4:	33 c9                	xor    %ecx,%ecx
9930a6:	8b c6                	mov    %esi,%eax
9930a8:	6a 04                	push   $0x4
9930aa:	5a                   	pop    %edx
9930ab:	f7 e2                	mul    %edx
9930ad:	0f 90 c1             	seto   %cl
9930b0:	f7 d9                	neg    %ecx
9930b2:	0b c8                	or     %eax,%ecx
9930b4:	51                   	push   %ecx
9930b5:	e8 dd 26 aa ff       	call   0x435797
9930ba:	8b ce                	mov    %esi,%ecx
9930bc:	89 47 04             	mov    %eax,0x4(%edi)
9930bf:	c1 e1 02             	shl    $0x2,%ecx
9930c2:	51                   	push   %ecx
9930c3:	6a 00                	push   $0x0
9930c5:	50                   	push   %eax
9930c6:	e8 ed 16 a8 ff       	call   0x4147b8
9930cb:	83 c4 10             	add    $0x10,%esp
9930ce:	89 77 08             	mov    %esi,0x8(%edi)
9930d1:	5f                   	pop    %edi
9930d2:	5e                   	pop    %esi
9930d3:	5d                   	pop    %ebp
9930d4:	c2 08 00             	ret    $0x8
9930d7:	cc                   	int3
9930d8:	cc                   	int3
9930d9:	cc                   	int3
9930da:	cc                   	int3
9930db:	cc                   	int3
9930dc:	cc                   	int3
9930dd:	cc                   	int3
9930de:	cc                   	int3
9930df:	cc                   	int3
9930e0:	cc                   	int3
9930e1:	cc                   	int3
9930e2:	cc                   	int3
9930e3:	cc                   	int3
9930e4:	cc                   	int3
9930e5:	cc                   	int3
9930e6:	cc                   	int3
9930e7:	cc                   	int3
9930e8:	cc                   	int3
9930e9:	cc                   	int3
9930ea:	cc                   	int3
9930eb:	cc                   	int3
9930ec:	cc                   	int3
9930ed:	cc                   	int3
9930ee:	55                   	push   %ebp
9930ef:	8b ec                	mov    %esp,%ebp
9930f1:	51                   	push   %ecx
9930f2:	51                   	push   %ecx
9930f3:	8d 45 fc             	lea    -0x4(%ebp),%eax
9930f6:	50                   	push   %eax
9930f7:	8d 45 f8             	lea    -0x8(%ebp),%eax
9930fa:	50                   	push   %eax
9930fb:	ff 75 08             	push   0x8(%ebp)
9930fe:	e8 5b ec a9 ff       	call   0x431d5e
993103:	85 c0                	test   %eax,%eax
993105:	74 0b                	je     0x993112
993107:	8b 48 0c             	mov    0xc(%eax),%ecx
99310a:	8b 45 0c             	mov    0xc(%ebp),%eax
99310d:	89 08                	mov    %ecx,(%eax)
99310f:	33 c0                	xor    %eax,%eax
993111:	40                   	inc    %eax
993112:	8b e5                	mov    %ebp,%esp
993114:	5d                   	pop    %ebp
993115:	c2 08 00             	ret    $0x8
993118:	cc                   	int3
993119:	cc                   	int3
99311a:	cc                   	int3
99311b:	cc                   	int3
99311c:	cc                   	int3
99311d:	cc                   	int3
99311e:	cc                   	int3
99311f:	cc                   	int3
993120:	cc                   	int3
993121:	cc                   	int3
993122:	55                   	push   %ebp
993123:	8b ec                	mov    %esp,%ebp
993125:	51                   	push   %ecx
993126:	51                   	push   %ecx
993127:	8d 45 fc             	lea    -0x4(%ebp),%eax
99312a:	50                   	push   %eax
99312b:	8d 45 f8             	lea    -0x8(%ebp),%eax
99312e:	50                   	push   %eax
99312f:	ff 75 08             	push   0x8(%ebp)
993132:	e8 27 ec a9 ff       	call   0x431d5e
993137:	85 c0                	test   %eax,%eax
993139:	74 0b                	je     0x993146
99313b:	8b 48 08             	mov    0x8(%eax),%ecx
99313e:	8b 45 0c             	mov    0xc(%ebp),%eax
993141:	89 08                	mov    %ecx,(%eax)