55df36:	99                   	cltd
55df37:	6a 00                	push   $0x0
55df39:	ff 76 44             	push   0x44(%esi)
55df3c:	83 c0 18             	add    $0x18,%eax
55df3f:	83 d2 00             	adc    $0x0,%edx
55df42:	52                   	push   %edx
55df43:	50                   	push   %eax
55df44:	e8 b7 3b 08 00       	call   0x5e1b00
55df49:	8b d8                	mov    %eax,%ebx
55df4b:	8b 45 c8             	mov    -0x38(%ebp),%eax
55df4e:	83 c3 20             	add    $0x20,%ebx
55df51:	83 d2 00             	adc    $0x0,%edx
55df54:	33 c9                	xor    %ecx,%ecx
55df56:	03 c3                	add    %ebx,%eax
55df58:	89 55 c0             	mov    %edx,-0x40(%ebp)
55df5b:	13 ca                	adc    %edx,%ecx
55df5d:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
55df60:	0f 8f 83 00 00 00    	jg     0x55dfe9
55df66:	7c 09                	jl     0x55df71
55df68:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
55df6b:	0f 87 78 00 00 00    	ja     0x55dfe9
55df71:	8b 46 08             	mov    0x8(%esi),%eax
55df74:	52                   	push   %edx
55df75:	53                   	push   %ebx
55df76:	ff 75 c8             	push   -0x38(%ebp)
55df79:	8b 08                	mov    (%eax),%ecx
55df7b:	ff 75 c4             	push   -0x3c(%ebp)
55df7e:	50                   	push   %eax
55df7f:	8b 41 08             	mov    0x8(%ecx),%eax
55df82:	ff d0                	call   *%eax
55df84:	8b f8                	mov    %eax,%edi
55df86:	83 c4 14             	add    $0x14,%esp
55df89:	89 7d cc             	mov    %edi,-0x34(%ebp)
55df8c:	85 ff                	test   %edi,%edi
55df8e:	75 59                	jne    0x55dfe9
55df90:	ff 75 c4             	push   -0x3c(%ebp)
55df93:	8d 45 b4             	lea    -0x4c(%ebp),%eax
55df96:	ff 75 b8             	push   -0x48(%ebp)
55df99:	50                   	push   %eax
55df9a:	8d 45 a8             	lea    -0x58(%ebp),%eax
55df9d:	50                   	push   %eax
55df9e:	56                   	push   %esi
55df9f:	e8 8c 06 00 00       	call   0x55e630
55dfa4:	83 c4 14             	add    $0x14,%esp
55dfa7:	85 c0                	test   %eax,%eax
55dfa9:	74 3e                	je     0x55dfe9
55dfab:	39 7d b4             	cmp    %edi,-0x4c(%ebp)
55dfae:	75 33                	jne    0x55dfe3
55dfb0:	8b 4d c8             	mov    -0x38(%ebp),%ecx
55dfb3:	33 c0                	xor    %eax,%eax
55dfb5:	8b 55 c0             	mov    -0x40(%ebp),%edx
55dfb8:	03 d9                	add    %ecx,%ebx
55dfba:	13 d0                	adc    %eax,%edx
55dfbc:	03 cb                	add    %ebx,%ecx
55dfbe:	89 55 c0             	mov    %edx,-0x40(%ebp)
55dfc1:	13 c2                	adc    %edx,%eax
55dfc3:	3b 45 d8             	cmp    -0x28(%ebp),%eax
55dfc6:	7c a9                	jl     0x55df71
55dfc8:	7f 1f                	jg     0x55dfe9
55dfca:	3b 4d d4             	cmp    -0x2c(%ebp),%ecx
55dfcd:	76 a2                	jbe    0x55df71
55dfcf:	8b 45 b0             	mov    -0x50(%ebp),%eax
55dfd2:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
55dfd5:	89 46 4c             	mov    %eax,0x4c(%esi)
55dfd8:	8b 45 ac             	mov    -0x54(%ebp),%eax
55dfdb:	89 46 50             	mov    %eax,0x50(%esi)
55dfde:	e9 c0 fd ff ff       	jmp    0x55dda3
55dfe3:	83 cf ff             	or     $0xffffffff,%edi
55dfe6:	89 7d cc             	mov    %edi,-0x34(%ebp)
55dfe9:	8b 45 b0             	mov    -0x50(%ebp),%eax
55dfec:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
55dfef:	89 46 4c             	mov    %eax,0x4c(%esi)
55dff2:	8b 45 ac             	mov    -0x54(%ebp),%eax
55dff5:	89 46 50             	mov    %eax,0x50(%esi)
55dff8:	e9 a6 fd ff ff       	jmp    0x55dda3
55dffd:	53                   	push   %ebx
55dffe:	ff 15 34 18 72 00    	call   *0x721834
55e004:	83 c4 04             	add    $0x4,%esp
55e007:	8b 46 20             	mov    0x20(%esi),%eax
55e00a:	c7 04 b8 00 00 00 00 	movl   $0x0,(%eax,%edi,4)
55e011:	47                   	inc    %edi
55e012:	3b 7e 18             	cmp    0x18(%esi),%edi
55e015:	0f 8c a5 fd ff ff    	jl     0x55ddc0
55e01b:	8b 7d cc             	mov    -0x34(%ebp),%edi
55e01e:	80 7e 2c 00          	cmpb   $0x0,0x2c(%esi)
55e022:	c6 46 32 00          	movb   $0x0,0x32(%esi)
55e026:	74 29                	je     0x55e051
55e028:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
55e02c:	75 14                	jne    0x55e042
55e02e:	8b 46 04             	mov    0x4(%esi),%eax
55e031:	6a 09                	push   $0x9
55e033:	6a 01                	push   $0x1
55e035:	6a 00                	push   $0x0
55e037:	8b 08                	mov    (%eax),%ecx
55e039:	50                   	push   %eax
55e03a:	8b 41 38             	mov    0x38(%ecx),%eax
55e03d:	ff d0                	call   *%eax
55e03f:	83 c4 10             	add    $0x10,%esp
55e042:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
55e046:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
55e04d:	c6 46 2f 00          	movb   $0x0,0x2f(%esi)
55e051:	0f b7 46 28          	movzwl 0x28(%esi),%eax
55e055:	66 85 c0             	test   %ax,%ax
55e058:	78 24                	js     0x55e07e
55e05a:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
55e05e:	75 17                	jne    0x55e077
55e060:	8b 4e 04             	mov    0x4(%esi),%ecx
55e063:	6a 05                	push   $0x5
55e065:	98                   	cwtl
55e066:	83 c0 03             	add    $0x3,%eax
55e069:	8b 11                	mov    (%ecx),%edx
55e06b:	6a 01                	push   $0x1
55e06d:	50                   	push   %eax
55e06e:	51                   	push   %ecx
55e06f:	8b 42 38             	mov    0x38(%edx),%eax
55e072:	ff d0                	call   *%eax
55e074:	83 c4 10             	add    $0x10,%esp
55e077:	83 c8 ff             	or     $0xffffffff,%eax
55e07a:	66 89 46 28          	mov    %ax,0x28(%esi)
55e07e:	8b 45 bc             	mov    -0x44(%ebp),%eax
55e081:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
55e087:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55e08a:	8b c7                	mov    %edi,%eax
55e08c:	5f                   	pop    %edi
55e08d:	5e                   	pop    %esi
55e08e:	33 cd                	xor    %ebp,%ecx
55e090:	5b                   	pop    %ebx
55e091:	e8 44 34 08 00       	call   0x5e14da
55e096:	8b e5                	mov    %ebp,%esp
55e098:	5d                   	pop    %ebp
55e099:	c3                   	ret
55e09a:	cc                   	int3
55e09b:	cc                   	int3
55e09c:	cc                   	int3
55e09d:	cc                   	int3
55e09e:	cc                   	int3
55e09f:	cc                   	int3
55e0a0:	55                   	push   %ebp
55e0a1:	8b ec                	mov    %esp,%ebp
55e0a3:	53                   	push   %ebx
55e0a4:	8b 5d 08             	mov    0x8(%ebp),%ebx
55e0a7:	56                   	push   %esi
55e0a8:	57                   	push   %edi
55e0a9:	8b 7d 0c             	mov    0xc(%ebp),%edi
55e0ac:	0f 1f 40 00          	nopl   0x0(%eax)
55e0b0:	80 7b 2b 00          	cmpb   $0x0,0x2b(%ebx)
55e0b4:	74 04                	je     0x55e0ba
55e0b6:	33 f6                	xor    %esi,%esi
55e0b8:	eb 18                	jmp    0x55e0d2
55e0ba:	8b 43 04             	mov    0x4(%ebx),%eax
55e0bd:	6a 0a                	push   $0xa
55e0bf:	ff 75 18             	push   0x18(%ebp)
55e0c2:	8b 08                	mov    (%eax),%ecx
55e0c4:	ff 75 14             	push   0x14(%ebp)
55e0c7:	50                   	push   %eax
55e0c8:	8b 41 38             	mov    0x38(%ecx),%eax
55e0cb:	ff d0                	call   *%eax
55e0cd:	83 c4 10             	add    $0x10,%esp
55e0d0:	8b f0                	mov    %eax,%esi
55e0d2:	85 ff                	test   %edi,%edi
55e0d4:	74 11                	je     0x55e0e7
55e0d6:	83 fe 05             	cmp    $0x5,%esi
55e0d9:	75 0c                	jne    0x55e0e7
55e0db:	ff 75 10             	push   0x10(%ebp)
55e0de:	ff d7                	call   *%edi
55e0e0:	83 c4 04             	add    $0x4,%esp
55e0e3:	85 c0                	test   %eax,%eax
55e0e5:	75 c9                	jne    0x55e0b0
55e0e7:	5f                   	pop    %edi
55e0e8:	8b c6                	mov    %esi,%eax
55e0ea:	5e                   	pop    %esi
55e0eb:	5b                   	pop    %ebx
55e0ec:	5d                   	pop    %ebp
55e0ed:	c3                   	ret
55e0ee:	cc                   	int3
55e0ef:	cc                   	int3
55e0f0:	55                   	push   %ebp
55e0f1:	8b ec                	mov    %esp,%ebp
55e0f3:	83 ec 4c             	sub    $0x4c,%esp
55e0f6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
55e0fb:	33 c5                	xor    %ebp,%eax
55e0fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
55e100:	8b 45 14             	mov    0x14(%ebp),%eax
55e103:	53                   	push   %ebx
55e104:	89 45 d0             	mov    %eax,-0x30(%ebp)
55e107:	33 db                	xor    %ebx,%ebx
55e109:	8b 45 18             	mov    0x18(%ebp),%eax
55e10c:	56                   	push   %esi
55e10d:	89 45 c8             	mov    %eax,-0x38(%ebp)
55e110:	8b 45 20             	mov    0x20(%ebp),%eax
55e113:	57                   	push   %edi
55e114:	8b 7d 08             	mov    0x8(%ebp),%edi
55e117:	89 45 b8             	mov    %eax,-0x48(%ebp)
55e11a:	89 7d b4             	mov    %edi,-0x4c(%ebp)
55e11d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
55e120:	0f b7 4f 42          	movzwl 0x42(%edi),%ecx
55e124:	8b c1                	mov    %ecx,%eax
55e126:	89 5d cc             	mov    %ebx,-0x34(%ebp)
55e129:	83 e0 01             	and    $0x1,%eax
55e12c:	89 5d c0             	mov    %ebx,-0x40(%ebp)
55e12f:	c1 e0 10             	shl    $0x10,%eax
55e132:	81 e1 00 fe 00 00    	and    $0xfe00,%ecx
55e138:	03 c1                	add    %ecx,%eax
55e13a:	8b 4f 44             	mov    0x44(%edi),%ecx
55e13d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
55e140:	8b 47 20             	mov    0x20(%edi),%eax
55e143:	89 4d e0             	mov    %ecx,-0x20(%ebp)
55e146:	8b 00                	mov    (%eax),%eax
55e148:	83 c0 60             	add    $0x60,%eax
55e14b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
55e14e:	39 08                	cmp    %ecx,(%eax)
55e150:	0f 83 a8 02 00 00    	jae    0x55e3fe
55e156:	8b 57 48             	mov    0x48(%edi),%edx
55e159:	8d 73 01             	lea    0x1(%ebx),%esi
55e15c:	83 c0 08             	add    $0x8,%eax
55e15f:	89 55 bc             	mov    %edx,-0x44(%ebp)
55e162:	89 45 d8             	mov    %eax,-0x28(%ebp)
55e165:	8b 10                	mov    (%eax),%edx
55e167:	89 55 c4             	mov    %edx,-0x3c(%ebp)
55e16a:	3b ca                	cmp    %edx,%ecx
55e16c:	76 4f                	jbe    0x55e1bd
55e16e:	6a 01                	push   $0x1
55e170:	8d 46 03             	lea    0x3(%esi),%eax
55e173:	50                   	push   %eax
55e174:	ff 75 c8             	push   -0x38(%ebp)
55e177:	ff 75 d0             	push   -0x30(%ebp)
55e17a:	57                   	push   %edi
55e17b:	e8 20 ff ff ff       	call   0x55e0a0
55e180:	8b d8                	mov    %eax,%ebx
55e182:	83 c4 14             	add    $0x14,%esp
55e185:	85 db                	test   %ebx,%ebx
55e187:	0f 85 a5 01 00 00    	jne    0x55e332
55e18d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
55e190:	83 c8 ff             	or     $0xffffffff,%eax
55e193:	83 fe 01             	cmp    $0x1,%esi
55e196:	0f 44 45 e0          	cmove  -0x20(%ebp),%eax
55e19a:	89 01                	mov    %eax,(%ecx)
55e19c:	38 5f 2b             	cmp    %bl,0x2b(%edi)
55e19f:	75 16                	jne    0x55e1b7
55e1a1:	8b 47 04             	mov    0x4(%edi),%eax
55e1a4:	8d 56 03             	lea    0x3(%esi),%edx
55e1a7:	6a 09                	push   $0x9
55e1a9:	6a 01                	push   $0x1
55e1ab:	52                   	push   %edx
55e1ac:	8b 08                	mov    (%eax),%ecx
55e1ae:	50                   	push   %eax
55e1af:	8b 41 38             	mov    0x38(%ecx),%eax
55e1b2:	ff d0                	call   *%eax
55e1b4:	83 c4 10             	add    $0x10,%esp
55e1b7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
55e1ba:	8b 45 d8             	mov    -0x28(%ebp),%eax
55e1bd:	46                   	inc    %esi
55e1be:	83 c0 04             	add    $0x4,%eax
55e1c1:	89 45 d8             	mov    %eax,-0x28(%ebp)
55e1c4:	83 fe 05             	cmp    $0x5,%esi
55e1c7:	7c 9c                	jl     0x55e165
55e1c9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55e1cc:	39 08                	cmp    %ecx,(%eax)
55e1ce:	0f 83 14 02 00 00    	jae    0x55e3e8
55e1d4:	8b 00                	mov    (%eax),%eax
55e1d6:	8d 4d dc             	lea    -0x24(%ebp),%ecx
55e1d9:	51                   	push   %ecx
55e1da:	50                   	push   %eax
55e1db:	57                   	push   %edi
55e1dc:	e8 ff 0f 00 00       	call   0x55f1e0
55e1e1:	83 c4 0c             	add    $0xc,%esp
55e1e4:	8b d8                	mov    %eax,%ebx
55e1e6:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
55e1ea:	0f 84 f5 01 00 00    	je     0x55e3e5
55e1f0:	6a 01                	push   $0x1
55e1f2:	6a 03                	push   $0x3
55e1f4:	ff 75 c8             	push   -0x38(%ebp)
55e1f7:	ff 75 d0             	push   -0x30(%ebp)
55e1fa:	57                   	push   %edi
55e1fb:	e8 a0 fe ff ff       	call   0x55e0a0
55e200:	8b d8                	mov    %eax,%ebx
55e202:	83 c4 14             	add    $0x14,%esp
55e205:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55e208:	85 db                	test   %ebx,%ebx
55e20a:	0f 85 d8 01 00 00    	jne    0x55e3e8
55e210:	8b 55 1c             	mov    0x1c(%ebp),%edx
55e213:	8b 08                	mov    (%eax),%ecx
55e215:	8b 75 e0             	mov    -0x20(%ebp),%esi
55e218:	c1 fa 02             	sar    $0x2,%edx
55e21b:	83 e2 03             	and    $0x3,%edx
55e21e:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
55e221:	89 70 20             	mov    %esi,0x20(%eax)
55e224:	8b 4f 08             	mov    0x8(%edi),%ecx
55e227:	89 55 1c             	mov    %edx,0x1c(%ebp)
55e22a:	74 16                	je     0x55e242
55e22c:	8b 01                	mov    (%ecx),%eax
55e22e:	52                   	push   %edx
55e22f:	51                   	push   %ecx
55e230:	8b 40 14             	mov    0x14(%eax),%eax
55e233:	ff d0                	call   *%eax
55e235:	8b d8                	mov    %eax,%ebx
55e237:	83 c4 08             	add    $0x8,%esp
55e23a:	85 db                	test   %ebx,%ebx
55e23c:	0f 85 86 01 00 00    	jne    0x55e3c8
55e242:	8b 45 d4             	mov    -0x2c(%ebp),%eax
55e245:	f7 65 bc             	mull   -0x44(%ebp)
55e248:	89 45 f4             	mov    %eax,-0xc(%ebp)
55e24b:	8b 47 04             	mov    0x4(%edi),%eax
55e24e:	89 55 f8             	mov    %edx,-0x8(%ebp)
55e251:	8d 55 e8             	lea    -0x18(%ebp),%edx
55e254:	52                   	push   %edx
55e255:	50                   	push   %eax
55e256:	8b 08                	mov    (%eax),%ecx
55e258:	8b 41 18             	mov    0x18(%ecx),%eax
55e25b:	ff d0                	call   *%eax
55e25d:	8b d8                	mov    %eax,%ebx
55e25f:	83 c4 08             	add    $0x8,%esp
55e262:	85 db                	test   %ebx,%ebx
55e264:	0f 85 5e 01 00 00    	jne    0x55e3c8
55e26a:	8b 45 ec             	mov    -0x14(%ebp),%eax
55e26d:	3b 45 f8             	cmp    -0x8(%ebp),%eax
55e270:	7f 22                	jg     0x55e294
55e272:	7c 08                	jl     0x55e27c
55e274:	8b 45 e8             	mov    -0x18(%ebp),%eax
55e277:	3b 45 f4             	cmp    -0xc(%ebp),%eax
55e27a:	73 18                	jae    0x55e294
55e27c:	8b 47 04             	mov    0x4(%edi),%eax
55e27f:	8b 08                	mov    (%eax),%ecx
55e281:	85 c9                	test   %ecx,%ecx
55e283:	74 0f                	je     0x55e294
55e285:	8d 55 f4             	lea    -0xc(%ebp),%edx
55e288:	52                   	push   %edx
55e289:	6a 05                	push   $0x5
55e28b:	50                   	push   %eax
55e28c:	8b 41 28             	mov    0x28(%ecx),%eax
55e28f:	ff d0                	call   *%eax
55e291:	83 c4 0c             	add    $0xc,%esp
55e294:	8d 45 c0             	lea    -0x40(%ebp),%eax
55e297:	50                   	push   %eax
55e298:	8d 45 cc             	lea    -0x34(%ebp),%eax
55e29b:	50                   	push   %eax
55e29c:	ff 75 dc             	push   -0x24(%ebp)
55e29f:	e8 dc 11 00 00       	call   0x55f480
55e2a4:	83 c4 0c             	add    $0xc,%esp
55e2a7:	85 c0                	test   %eax,%eax
55e2a9:	0f 85 b1 00 00 00    	jne    0x55e360
55e2af:	8b 45 0c             	mov    0xc(%ebp),%eax
55e2b2:	83 b8 10 01 00 00 00 	cmpl   $0x0,0x110(%eax)
55e2b9:	0f 85 8e 00 00 00    	jne    0x55e34d
55e2bf:	8b 4d c0             	mov    -0x40(%ebp),%ecx
55e2c2:	3b 4d c4             	cmp    -0x3c(%ebp),%ecx
55e2c5:	76 cd                	jbe    0x55e294
55e2c7:	3b ce                	cmp    %esi,%ecx
55e2c9:	77 c9                	ja     0x55e294
55e2cb:	8b 45 bc             	mov    -0x44(%ebp),%eax