a48f2a:	8b 01                	mov    (%ecx),%eax
a48f2c:	c3                   	ret
a48f2d:	8b 01                	mov    (%ecx),%eax
a48f2f:	c3                   	ret
a48f30:	55                   	push   %ebp
a48f31:	8b ec                	mov    %esp,%ebp
a48f33:	56                   	push   %esi
a48f34:	8b f1                	mov    %ecx,%esi
a48f36:	e8 6b 41 9e ff       	call   0x42d0a6
a48f3b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
a48f3f:	74 18                	je     0xa48f59
a48f41:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
a48f45:	75 08                	jne    0xa48f4f
a48f47:	56                   	push   %esi
a48f48:	e8 42 88 9b ff       	call   0x40178f
a48f4d:	eb 09                	jmp    0xa48f58
a48f4f:	6a 40                	push   $0x40
a48f51:	56                   	push   %esi
a48f52:	e8 83 68 9d ff       	call   0x41f7da
a48f57:	59                   	pop    %ecx
a48f58:	59                   	pop    %ecx
a48f59:	8b c6                	mov    %esi,%eax
a48f5b:	5e                   	pop    %esi
a48f5c:	5d                   	pop    %ebp
a48f5d:	c2 04 00             	ret    $0x4
a48f60:	cc                   	int3
a48f61:	cc                   	int3
a48f62:	cc                   	int3
a48f63:	cc                   	int3
a48f64:	cc                   	int3
a48f65:	cc                   	int3
a48f66:	cc                   	int3
a48f67:	cc                   	int3
a48f68:	cc                   	int3
a48f69:	cc                   	int3
a48f6a:	cc                   	int3
a48f6b:	cc                   	int3
a48f6c:	6a 0c                	push   $0xc
a48f6e:	b8 a6 ad bb 00       	mov    $0xbbada6,%eax
a48f73:	e8 74 e3 9c ff       	call   0x4172ec
a48f78:	8b f1                	mov    %ecx,%esi
a48f7a:	89 75 ec             	mov    %esi,-0x14(%ebp)
a48f7d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a48f81:	33 c9                	xor    %ecx,%ecx
a48f83:	8b 45 08             	mov    0x8(%ebp),%eax
a48f86:	6a 04                	push   $0x4
a48f88:	5a                   	pop    %edx
a48f89:	f7 e2                	mul    %edx
a48f8b:	0f 90 c1             	seto   %cl
a48f8e:	f7 d9                	neg    %ecx
a48f90:	0b c8                	or     %eax,%ecx
a48f92:	51                   	push   %ecx
a48f93:	e8 ff c7 9e ff       	call   0x435797
a48f98:	59                   	pop    %ecx
a48f99:	89 06                	mov    %eax,(%esi)
a48f9b:	eb 11                	jmp    0xa48fae
a48f9d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
a48fa0:	e8 a4 c2 9c ff       	call   0x415249
a48fa5:	b8 ab 8f a4 00       	mov    $0xa48fab,%eax
a48faa:	c3                   	ret
a48fab:	8b 75 ec             	mov    -0x14(%ebp),%esi
a48fae:	83 3e 00             	cmpl   $0x0,(%esi)
a48fb1:	0f 95 c0             	setne  %al
a48fb4:	e8 5e 54 9c ff       	call   0x40e417
a48fb9:	c2 04 00             	ret    $0x4
a48fbc:	cc                   	int3
a48fbd:	cc                   	int3
a48fbe:	cc                   	int3
a48fbf:	cc                   	int3
a48fc0:	cc                   	int3
a48fc1:	cc                   	int3
a48fc2:	cc                   	int3
a48fc3:	cc                   	int3
a48fc4:	cc                   	int3
a48fc5:	cc                   	int3
a48fc6:	cc                   	int3
a48fc7:	cc                   	int3
a48fc8:	cc                   	int3
a48fc9:	cc                   	int3
a48fca:	cc                   	int3
a48fcb:	cc                   	int3
a48fcc:	cc                   	int3
a48fcd:	cc                   	int3
a48fce:	cc                   	int3
a48fcf:	cc                   	int3
a48fd0:	6a 0c                	push   $0xc
a48fd2:	b8 c7 ad bb 00       	mov    $0xbbadc7,%eax
a48fd7:	e8 10 e3 9c ff       	call   0x4172ec
a48fdc:	8b f1                	mov    %ecx,%esi
a48fde:	89 75 ec             	mov    %esi,-0x14(%ebp)
a48fe1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a48fe5:	33 c9                	xor    %ecx,%ecx
a48fe7:	8b 45 08             	mov    0x8(%ebp),%eax
a48fea:	6a 02                	push   $0x2
a48fec:	5a                   	pop    %edx
a48fed:	f7 e2                	mul    %edx
a48fef:	0f 90 c1             	seto   %cl
a48ff2:	f7 d9                	neg    %ecx
a48ff4:	0b c8                	or     %eax,%ecx
a48ff6:	51                   	push   %ecx
a48ff7:	e8 9b c7 9e ff       	call   0x435797
a48ffc:	59                   	pop    %ecx
a48ffd:	89 06                	mov    %eax,(%esi)
a48fff:	eb 11                	jmp    0xa49012
a49001:	8b 4d e8             	mov    -0x18(%ebp),%ecx
a49004:	e8 40 c2 9c ff       	call   0x415249
a49009:	b8 0f 90 a4 00       	mov    $0xa4900f,%eax
a4900e:	c3                   	ret
a4900f:	8b 75 ec             	mov    -0x14(%ebp),%esi
a49012:	83 3e 00             	cmpl   $0x0,(%esi)
a49015:	0f 95 c0             	setne  %al
a49018:	e8 fa 53 9c ff       	call   0x40e417
a4901d:	c2 04 00             	ret    $0x4
a49020:	cc                   	int3
a49021:	cc                   	int3
a49022:	cc                   	int3
a49023:	cc                   	int3
a49024:	cc                   	int3
a49025:	cc                   	int3
a49026:	cc                   	int3
a49027:	cc                   	int3
a49028:	cc                   	int3
a49029:	cc                   	int3
a4902a:	cc                   	int3
a4902b:	cc                   	int3
a4902c:	cc                   	int3
a4902d:	cc                   	int3
a4902e:	cc                   	int3
a4902f:	cc                   	int3
a49030:	cc                   	int3
a49031:	cc                   	int3
a49032:	cc                   	int3
a49033:	cc                   	int3
a49034:	55                   	push   %ebp
a49035:	8b ec                	mov    %esp,%ebp
a49037:	51                   	push   %ecx
a49038:	51                   	push   %ecx
a49039:	56                   	push   %esi
a4903a:	57                   	push   %edi
a4903b:	8b f9                	mov    %ecx,%edi
a4903d:	6a 0a                	push   $0xa
a4903f:	ff 77 08             	push   0x8(%edi)
a49042:	ff 15 30 33 d8 00    	call   *0xd83330
a49048:	6a 08                	push   $0x8
a4904a:	ff 77 08             	push   0x8(%edi)
a4904d:	8b f0                	mov    %eax,%esi
a4904f:	ff 15 30 33 d8 00    	call   *0xd83330
a49055:	89 45 f8             	mov    %eax,-0x8(%ebp)
a49058:	8b cf                	mov    %edi,%ecx
a4905a:	8d 45 f8             	lea    -0x8(%ebp),%eax
a4905d:	89 75 fc             	mov    %esi,-0x4(%ebp)
a49060:	50                   	push   %eax
a49061:	e8 87 54 9d ff       	call   0x41e4ed
a49066:	6a 01                	push   $0x1
a49068:	ff 77 04             	push   0x4(%edi)
a4906b:	ff 15 e0 31 d8 00    	call   *0xd831e0
a49071:	33 f6                	xor    %esi,%esi
a49073:	56                   	push   %esi
a49074:	56                   	push   %esi
a49075:	56                   	push   %esi
a49076:	ff 77 04             	push   0x4(%edi)
a49079:	ff 15 18 33 d8 00    	call   *0xd83318
a4907f:	56                   	push   %esi
a49080:	ff 77 24             	push   0x24(%edi)
a49083:	ff 77 20             	push   0x20(%edi)
a49086:	ff 77 04             	push   0x4(%edi)
a49089:	ff 15 10 33 d8 00    	call   *0xd83310
a4908f:	8b 45 fc             	mov    -0x4(%ebp),%eax
a49092:	83 c0 02             	add    $0x2,%eax
a49095:	50                   	push   %eax
a49096:	8b 45 f8             	mov    -0x8(%ebp),%eax
a49099:	83 c0 02             	add    $0x2,%eax
a4909c:	50                   	push   %eax
a4909d:	6a ff                	push   $0xffffffff
a4909f:	6a ff                	push   $0xffffffff
a490a1:	ff 77 04             	push   0x4(%edi)
a490a4:	ff 15 a4 31 d8 00    	call   *0xd831a4
a490aa:	56                   	push   %esi
a490ab:	8b cf                	mov    %edi,%ecx
a490ad:	e8 0c 18 9f ff       	call   0x43a8be
a490b2:	5f                   	pop    %edi
a490b3:	5e                   	pop    %esi
a490b4:	8b e5                	mov    %ebp,%esp
a490b6:	5d                   	pop    %ebp
a490b7:	c3                   	ret
a490b8:	cc                   	int3
a490b9:	cc                   	int3
a490ba:	cc                   	int3
a490bb:	cc                   	int3
a490bc:	cc                   	int3
a490bd:	cc                   	int3
a490be:	cc                   	int3
a490bf:	cc                   	int3
a490c0:	cc                   	int3
a490c1:	cc                   	int3
a490c2:	cc                   	int3
a490c3:	cc                   	int3
a490c4:	cc                   	int3
a490c5:	cc                   	int3
a490c6:	cc                   	int3
a490c7:	cc                   	int3
a490c8:	cc                   	int3
a490c9:	cc                   	int3
a490ca:	cc                   	int3
a490cb:	cc                   	int3
a490cc:	cc                   	int3
a490cd:	cc                   	int3
a490ce:	cc                   	int3
a490cf:	cc                   	int3
a490d0:	cc                   	int3
a490d1:	cc                   	int3
a490d2:	cc                   	int3
a490d3:	cc                   	int3
a490d4:	cc                   	int3
a490d5:	cc                   	int3
a490d6:	cc                   	int3
a490d7:	cc                   	int3
a490d8:	cc                   	int3
a490d9:	55                   	push   %ebp
a490da:	8b ec                	mov    %esp,%ebp
a490dc:	81 ec d0 00 00 00    	sub    $0xd0,%esp
a490e2:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a490e7:	33 c5                	xor    %ebp,%eax
a490e9:	89 45 fc             	mov    %eax,-0x4(%ebp)
a490ec:	8b 45 08             	mov    0x8(%ebp),%eax
a490ef:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
a490f5:	8b 45 14             	mov    0x14(%ebp),%eax
a490f8:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
a490fe:	8b 45 20             	mov    0x20(%ebp),%eax
a49101:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
a49107:	8b 45 28             	mov    0x28(%ebp),%eax
a4910a:	53                   	push   %ebx
a4910b:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
a49111:	8b d9                	mov    %ecx,%ebx
a49113:	8b 45 2c             	mov    0x2c(%ebp),%eax
a49116:	56                   	push   %esi
a49117:	8b 75 10             	mov    0x10(%ebp),%esi
a4911a:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
a49120:	8b 45 30             	mov    0x30(%ebp),%eax
a49123:	57                   	push   %edi
a49124:	8b 7d 0c             	mov    0xc(%ebp),%edi
a49127:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
a4912d:	8d 45 c0             	lea    -0x40(%ebp),%eax
a49130:	50                   	push   %eax
a49131:	ff 73 08             	push   0x8(%ebx)
a49134:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
a4913a:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
a49140:	ff 15 38 33 d8 00    	call   *0xd83338
a49146:	8d 45 84             	lea    -0x7c(%ebp),%eax
a49149:	50                   	push   %eax
a4914a:	ff 73 04             	push   0x4(%ebx)
a4914d:	ff 15 38 33 d8 00    	call   *0xd83338
a49153:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
a49159:	50                   	push   %eax
a4915a:	6a 01                	push   $0x1
a4915c:	68 ec 92 c4 00       	push   $0xc492ec
a49161:	83 20 00             	andl   $0x0,(%eax)
a49164:	83 60 04 00          	andl   $0x0,0x4(%eax)
a49168:	ff 73 08             	push   0x8(%ebx)
a4916b:	ff 15 2c 33 d8 00    	call   *0xd8332c
a49171:	ff 73 08             	push   0x8(%ebx)
a49174:	83 a5 48 ff ff ff 00 	andl   $0x0,-0xb8(%ebp)
a4917b:	83 a5 4c ff ff ff 00 	andl   $0x0,-0xb4(%ebp)
a49182:	ff 15 f0 32 d8 00    	call   *0xd832f0
a49188:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
a4918e:	83 e0 01             	and    $0x1,%eax
a49191:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
a49197:	74 18                	je     0xa491b1
a49199:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
a4919f:	50                   	push   %eax
a491a0:	ff 73 04             	push   0x4(%ebx)
a491a3:	ff 15 8c 31 d8 00    	call   *0xd8318c
a491a9:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
a491af:	89 07                	mov    %eax,(%edi)
a491b1:	8b 17                	mov    (%edi),%edx
a491b3:	8b ca                	mov    %edx,%ecx
a491b5:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
a491bb:	33 d2                	xor    %edx,%edx
a491bd:	89 b5 54 ff ff ff    	mov    %esi,-0xac(%ebp)
a491c3:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
a491c9:	89 4d 80             	mov    %ecx,-0x80(%ebp)
a491cc:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
a491d2:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
a491d8:	39 55 18             	cmp    %edx,0x18(%ebp)
a491db:	74 30                	je     0xa4920d
a491dd:	83 7d 1c 01          	cmpl   $0x1,0x1c(%ebp)
a491e1:	75 0a                	jne    0xa491ed
a491e3:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
a491e9:	8b 00                	mov    (%eax),%eax
a491eb:	eb 1a                	jmp    0xa49207
a491ed:	52                   	push   %edx
a491ee:	52                   	push   %edx
a491ef:	6a 01                	push   $0x1
a491f1:	68 10 3a c4 00       	push   $0xc43a10
a491f6:	ff 73 08             	push   0x8(%ebx)
a491f9:	ff 15 50 3f d8 00    	call   *0xd83f50
a491ff:	8b 4d 80             	mov    -0x80(%ebp),%ecx
a49202:	33 d2                	xor    %edx,%edx
a49204:	0f b7 c0             	movzwl %ax,%eax
a49207:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
a4920d:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
a49213:	89 95 50 ff ff ff    	mov    %edx,-0xb0(%ebp)
a49219:	39 10                	cmp    %edx,(%eax)
a4921b:	0f 86 5a 01 00 00    	jbe    0xa4937b
a49221:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
a49227:	0f b7 07             	movzwl (%edi),%eax
a4922a:	33 c9                	xor    %ecx,%ecx
a4922c:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
a49230:	0f 94 c1             	sete   %cl
a49233:	89 8d 60 ff ff ff    	mov    %ecx,-0xa0(%ebp)
a49239:	85 c9                	test   %ecx,%ecx
a4923b:	0f 85 83 00 00 00    	jne    0xa492c4
a49241:	39 4d 18             	cmp    %ecx,0x18(%ebp)
a49244:	74 05                	je     0xa4924b
a49246:	83 f8 09             	cmp    $0x9,%eax
a49249:	74 79                	je     0xa492c4
a4924b:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
a49251:	51                   	push   %ecx
a49252:	50                   	push   %eax
a49253:	50                   	push   %eax
a49254:	ff 73 04             	push   0x4(%ebx)
a49257:	ff 15 8c 32 d8 00    	call   *0xd8328c
a4925d:	0f b7 07             	movzwl (%edi),%eax
a49260:	56                   	push   %esi
a49261:	50                   	push   %eax
a49262:	50                   	push   %eax
a49263:	ff 73 08             	push   0x8(%ebx)
a49266:	ff 15 8c 32 d8 00    	call   *0xd8328c
a4926c:	85 c0                	test   %eax,%eax
a4926e:	75 05                	jne    0xa49275
a49270:	8b 45 d4             	mov    -0x2c(%ebp),%eax
a49273:	89 06                	mov    %eax,(%esi)
a49275:	8b 45 e0             	mov    -0x20(%ebp),%eax
a49278:	29 06                	sub    %eax,(%esi)
a4927a:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
a49280:	8b 4d 80             	mov    -0x80(%ebp),%ecx
a49283:	8b 06                	mov    (%esi),%eax
a49285:	03 c8                	add    %eax,%ecx
a49287:	2b 55 a4             	sub    -0x5c(%ebp),%edx
a4928a:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
a49290:	89 4d 80             	mov    %ecx,-0x80(%ebp)
a49293:	3b b5 78 ff ff ff    	cmp    -0x88(%ebp),%esi
a49299:	74 0c                	je     0xa492a7
a4929b:	2b c2                	sub    %edx,%eax
a4929d:	99                   	cltd
a4929e:	2b c2                	sub    %edx,%eax
a492a0:	d1 f8                	sar    $1,%eax
a492a2:	29 06                	sub    %eax,(%esi)
a492a4:	01 46 fc             	add    %eax,-0x4(%esi)
a492a7:	8b 95 5c ff ff ff    	mov    -0xa4(%ebp),%edx