56f696:	99                   	cltd
56f697:	e8 e8 b9 fe ff       	call   0x55b084
56f69c:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f6a0:	c1 fa 0d             	sar    $0xd,%edx
56f6a3:	01 45 00             	add    %eax,0x0(%ebp)
56f6a6:	8b d3                	mov    %ebx,%edx
56f6a8:	c1 e2 02             	shl    $0x2,%edx
56f6ab:	03 ea                	add    %edx,%ebp
56f6ad:	ff 4c 24 30          	decl   0x30(%esp)
56f6b1:	8b 4c 24 24          	mov    0x24(%esp),%ecx
56f6b5:	8b 44 24 18          	mov    0x18(%esp),%eax
56f6b9:	3b c8                	cmp    %eax,%ecx
56f6bb:	7c 2d                	jl     0x56f6ea
56f6bd:	ff 4c 24 30          	decl   0x30(%esp)
56f6c1:	eb 27                	jmp    0x56f6ea
56f6c3:	6a ff                	push   $0xffffffff
56f6c5:	68 3f cd ff ff       	push   $0xffffcd3f
56f6ca:	8b 06                	mov    (%esi),%eax
56f6cc:	8b 14 9e             	mov    (%esi,%ebx,4),%edx
56f6cf:	03 c2                	add    %edx,%eax
56f6d1:	99                   	cltd
56f6d2:	e8 ad b9 fe ff       	call   0x55b084
56f6d7:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f6db:	01 45 00             	add    %eax,0x0(%ebp)
56f6de:	8b c3                	mov    %ebx,%eax
56f6e0:	c1 e0 02             	shl    $0x2,%eax
56f6e3:	c1 fa 0d             	sar    $0xd,%edx
56f6e6:	03 e8                	add    %eax,%ebp
56f6e8:	03 f0                	add    %eax,%esi
56f6ea:	8b 54 24 30          	mov    0x30(%esp),%edx
56f6ee:	83 44 24 30 ff       	addl   $0xffffffff,0x30(%esp)
56f6f3:	85 d2                	test   %edx,%edx
56f6f5:	7f cc                	jg     0x56f6c3
56f6f7:	8b 4c 24 24          	mov    0x24(%esp),%ecx
56f6fb:	8b 44 24 18          	mov    0x18(%esp),%eax
56f6ff:	3b c8                	cmp    %eax,%ecx
56f701:	7c 19                	jl     0x56f71c
56f703:	8b 44 24 34          	mov    0x34(%esp),%eax
56f707:	99                   	cltd
56f708:	52                   	push   %edx
56f709:	50                   	push   %eax
56f70a:	8b 06                	mov    (%esi),%eax
56f70c:	99                   	cltd
56f70d:	e8 72 b9 fe ff       	call   0x55b084
56f712:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f716:	c1 fa 0d             	sar    $0xd,%edx
56f719:	01 45 00             	add    %eax,0x0(%ebp)
56f71c:	8b 44 24 18          	mov    0x18(%esp),%eax
56f720:	8b 54 24 14          	mov    0x14(%esp),%edx
56f724:	2b c2                	sub    %edx,%eax
56f726:	8b 6c 24 10          	mov    0x10(%esp),%ebp
56f72a:	8b 74 24 1c          	mov    0x1c(%esp),%esi
56f72e:	89 44 24 38          	mov    %eax,0x38(%esp)
56f732:	c7 44 24 3c 9c fc ff 	movl   $0xfffffc9c,0x3c(%esp)
56f739:	ff
56f73a:	8b 4c 24 20          	mov    0x20(%esp),%ecx
56f73e:	8b 44 24 14          	mov    0x14(%esp),%eax
56f742:	3b c8                	cmp    %eax,%ecx
56f744:	7c 24                	jl     0x56f76a
56f746:	8b 44 24 3c          	mov    0x3c(%esp),%eax
56f74a:	99                   	cltd
56f74b:	52                   	push   %edx
56f74c:	50                   	push   %eax
56f74d:	8b 06                	mov    (%esi),%eax
56f74f:	99                   	cltd
56f750:	e8 2f b9 fe ff       	call   0x55b084
56f755:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f759:	c1 fa 0d             	sar    $0xd,%edx
56f75c:	01 45 00             	add    %eax,0x0(%ebp)
56f75f:	8b d3                	mov    %ebx,%edx
56f761:	c1 e2 02             	shl    $0x2,%edx
56f764:	03 ea                	add    %edx,%ebp
56f766:	ff 4c 24 38          	decl   0x38(%esp)
56f76a:	8b 4c 24 18          	mov    0x18(%esp),%ecx
56f76e:	8b 44 24 24          	mov    0x24(%esp),%eax
56f772:	3b c8                	cmp    %eax,%ecx
56f774:	7e 2d                	jle    0x56f7a3
56f776:	ff 4c 24 38          	decl   0x38(%esp)
56f77a:	eb 27                	jmp    0x56f7a3
56f77c:	6a ff                	push   $0xffffffff
56f77e:	68 4e fe ff ff       	push   $0xfffffe4e
56f783:	8b 06                	mov    (%esi),%eax
56f785:	8b 14 9e             	mov    (%esi,%ebx,4),%edx
56f788:	03 c2                	add    %edx,%eax
56f78a:	99                   	cltd
56f78b:	e8 f4 b8 fe ff       	call   0x55b084
56f790:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f794:	01 45 00             	add    %eax,0x0(%ebp)
56f797:	8b c3                	mov    %ebx,%eax
56f799:	c1 e0 02             	shl    $0x2,%eax
56f79c:	c1 fa 0d             	sar    $0xd,%edx
56f79f:	03 e8                	add    %eax,%ebp
56f7a1:	03 f0                	add    %eax,%esi
56f7a3:	8b 54 24 38          	mov    0x38(%esp),%edx
56f7a7:	83 44 24 38 ff       	addl   $0xffffffff,0x38(%esp)
56f7ac:	85 d2                	test   %edx,%edx
56f7ae:	7f cc                	jg     0x56f77c
56f7b0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
56f7b4:	8b 44 24 24          	mov    0x24(%esp),%eax
56f7b8:	3b c8                	cmp    %eax,%ecx
56f7ba:	7e 19                	jle    0x56f7d5
56f7bc:	8b 44 24 3c          	mov    0x3c(%esp),%eax
56f7c0:	99                   	cltd
56f7c1:	52                   	push   %edx
56f7c2:	50                   	push   %eax
56f7c3:	8b 06                	mov    (%esi),%eax
56f7c5:	99                   	cltd
56f7c6:	e8 b9 b8 fe ff       	call   0x55b084
56f7cb:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f7cf:	c1 fa 0d             	sar    $0xd,%edx
56f7d2:	01 45 00             	add    %eax,0x0(%ebp)
56f7d5:	8b 44 24 24          	mov    0x24(%esp),%eax
56f7d9:	8b 54 24 20          	mov    0x20(%esp),%edx
56f7dd:	2b c2                	sub    %edx,%eax
56f7df:	8b 74 24 10          	mov    0x10(%esp),%esi
56f7e3:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
56f7e7:	89 44 24 40          	mov    %eax,0x40(%esp)
56f7eb:	c7 44 24 44 80 38 00 	movl   $0x3880,0x44(%esp)
56f7f2:	00
56f7f3:	8b 4c 24 20          	mov    0x20(%esp),%ecx
56f7f7:	8b 44 24 14          	mov    0x14(%esp),%eax
56f7fb:	3b c8                	cmp    %eax,%ecx
56f7fd:	7d 24                	jge    0x56f823
56f7ff:	8b 44 24 44          	mov    0x44(%esp),%eax
56f803:	99                   	cltd
56f804:	52                   	push   %edx
56f805:	50                   	push   %eax
56f806:	8b 06                	mov    (%esi),%eax
56f808:	99                   	cltd
56f809:	e8 76 b8 fe ff       	call   0x55b084
56f80e:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f812:	c1 fa 0d             	sar    $0xd,%edx
56f815:	01 45 00             	add    %eax,0x0(%ebp)
56f818:	8b d3                	mov    %ebx,%edx
56f81a:	c1 e2 02             	shl    $0x2,%edx
56f81d:	03 ea                	add    %edx,%ebp
56f81f:	ff 4c 24 40          	decl   0x40(%esp)
56f823:	8b 4c 24 24          	mov    0x24(%esp),%ecx
56f827:	8b 44 24 18          	mov    0x18(%esp),%eax
56f82b:	3b c8                	cmp    %eax,%ecx
56f82d:	7c 2d                	jl     0x56f85c
56f82f:	ff 4c 24 40          	decl   0x40(%esp)
56f833:	eb 27                	jmp    0x56f85c
56f835:	6a 00                	push   $0x0
56f837:	68 40 1c 00 00       	push   $0x1c40
56f83c:	8b 06                	mov    (%esi),%eax
56f83e:	8b 14 9e             	mov    (%esi,%ebx,4),%edx
56f841:	03 c2                	add    %edx,%eax
56f843:	99                   	cltd
56f844:	e8 3b b8 fe ff       	call   0x55b084
56f849:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f84d:	01 45 00             	add    %eax,0x0(%ebp)
56f850:	8b c3                	mov    %ebx,%eax
56f852:	c1 e0 02             	shl    $0x2,%eax
56f855:	c1 fa 0d             	sar    $0xd,%edx
56f858:	03 e8                	add    %eax,%ebp
56f85a:	03 f0                	add    %eax,%esi
56f85c:	8b 54 24 40          	mov    0x40(%esp),%edx
56f860:	83 44 24 40 ff       	addl   $0xffffffff,0x40(%esp)
56f865:	85 d2                	test   %edx,%edx
56f867:	7f cc                	jg     0x56f835
56f869:	8b 4c 24 24          	mov    0x24(%esp),%ecx
56f86d:	8b 44 24 18          	mov    0x18(%esp),%eax
56f871:	3b c8                	cmp    %eax,%ecx
56f873:	7c 19                	jl     0x56f88e
56f875:	8b 44 24 44          	mov    0x44(%esp),%eax
56f879:	99                   	cltd
56f87a:	52                   	push   %edx
56f87b:	50                   	push   %eax
56f87c:	8b 06                	mov    (%esi),%eax
56f87e:	99                   	cltd
56f87f:	e8 00 b8 fe ff       	call   0x55b084
56f884:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f888:	c1 fa 0d             	sar    $0xd,%edx
56f88b:	01 45 00             	add    %eax,0x0(%ebp)
56f88e:	8b 44 24 18          	mov    0x18(%esp),%eax
56f892:	8b 54 24 14          	mov    0x14(%esp),%edx
56f896:	2b c2                	sub    %edx,%eax
56f898:	8b 6c 24 10          	mov    0x10(%esp),%ebp
56f89c:	8b 74 24 1c          	mov    0x1c(%esp),%esi
56f8a0:	89 44 24 48          	mov    %eax,0x48(%esp)
56f8a4:	c7 44 24 4c 62 1c 00 	movl   $0x1c62,0x4c(%esp)
56f8ab:	00
56f8ac:	8b 4c 24 20          	mov    0x20(%esp),%ecx
56f8b0:	8b 44 24 14          	mov    0x14(%esp),%eax
56f8b4:	3b c8                	cmp    %eax,%ecx
56f8b6:	7c 24                	jl     0x56f8dc
56f8b8:	8b 44 24 4c          	mov    0x4c(%esp),%eax
56f8bc:	99                   	cltd
56f8bd:	52                   	push   %edx
56f8be:	50                   	push   %eax
56f8bf:	8b 06                	mov    (%esi),%eax
56f8c1:	99                   	cltd
56f8c2:	e8 bd b7 fe ff       	call   0x55b084
56f8c7:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f8cb:	c1 fa 0d             	sar    $0xd,%edx
56f8ce:	01 45 00             	add    %eax,0x0(%ebp)
56f8d1:	8b d3                	mov    %ebx,%edx
56f8d3:	c1 e2 02             	shl    $0x2,%edx
56f8d6:	03 ea                	add    %edx,%ebp
56f8d8:	ff 4c 24 48          	decl   0x48(%esp)
56f8dc:	8b 4c 24 18          	mov    0x18(%esp),%ecx
56f8e0:	8b 44 24 24          	mov    0x24(%esp),%eax
56f8e4:	3b c8                	cmp    %eax,%ecx
56f8e6:	7e 2d                	jle    0x56f915
56f8e8:	ff 4c 24 48          	decl   0x48(%esp)
56f8ec:	eb 27                	jmp    0x56f915
56f8ee:	6a 00                	push   $0x0
56f8f0:	68 31 0e 00 00       	push   $0xe31
56f8f5:	8b 06                	mov    (%esi),%eax
56f8f7:	8b 14 9e             	mov    (%esi,%ebx,4),%edx
56f8fa:	03 c2                	add    %edx,%eax
56f8fc:	99                   	cltd
56f8fd:	e8 82 b7 fe ff       	call   0x55b084
56f902:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f906:	01 45 00             	add    %eax,0x0(%ebp)
56f909:	8b c3                	mov    %ebx,%eax
56f90b:	c1 e0 02             	shl    $0x2,%eax
56f90e:	c1 fa 0d             	sar    $0xd,%edx
56f911:	03 e8                	add    %eax,%ebp
56f913:	03 f0                	add    %eax,%esi
56f915:	8b 54 24 48          	mov    0x48(%esp),%edx
56f919:	83 44 24 48 ff       	addl   $0xffffffff,0x48(%esp)
56f91e:	85 d2                	test   %edx,%edx
56f920:	7f cc                	jg     0x56f8ee
56f922:	8b 4c 24 18          	mov    0x18(%esp),%ecx
56f926:	8b 44 24 24          	mov    0x24(%esp),%eax
56f92a:	3b c8                	cmp    %eax,%ecx
56f92c:	7e 19                	jle    0x56f947
56f92e:	8b 44 24 4c          	mov    0x4c(%esp),%eax
56f932:	99                   	cltd
56f933:	52                   	push   %edx
56f934:	50                   	push   %eax
56f935:	8b 06                	mov    (%esi),%eax
56f937:	99                   	cltd
56f938:	e8 47 b7 fe ff       	call   0x55b084
56f93d:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f941:	c1 fa 0d             	sar    $0xd,%edx
56f944:	01 45 00             	add    %eax,0x0(%ebp)
56f947:	8b 74 24 10          	mov    0x10(%esp),%esi
56f94b:	8b 6c 24 18          	mov    0x18(%esp),%ebp
56f94f:	8b 44 24 14          	mov    0x14(%esp),%eax
56f953:	2b e8                	sub    %eax,%ebp
56f955:	eb 1f                	jmp    0x56f976
56f957:	6a 00                	push   $0x0
56f959:	68 03 1a 00 00       	push   $0x1a03
56f95e:	8b 06                	mov    (%esi),%eax
56f960:	99                   	cltd
56f961:	e8 1e b7 fe ff       	call   0x55b084
56f966:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f96a:	c1 fa 0d             	sar    $0xd,%edx
56f96d:	89 06                	mov    %eax,(%esi)
56f96f:	8b d3                	mov    %ebx,%edx
56f971:	c1 e2 02             	shl    $0x2,%edx
56f974:	03 f2                	add    %edx,%esi
56f976:	8b cd                	mov    %ebp,%ecx
56f978:	83 c5 ff             	add    $0xffffffff,%ebp
56f97b:	85 c9                	test   %ecx,%ecx
56f97d:	7f d8                	jg     0x56f957
56f97f:	8b 74 24 1c          	mov    0x1c(%esp),%esi
56f983:	8b 6c 24 24          	mov    0x24(%esp),%ebp
56f987:	8b 44 24 20          	mov    0x20(%esp),%eax
56f98b:	2b e8                	sub    %eax,%ebp
56f98d:	eb 1f                	jmp    0x56f9ae
56f98f:	6a 00                	push   $0x0
56f991:	68 ae 13 00 00       	push   $0x13ae
56f996:	8b 06                	mov    (%esi),%eax
56f998:	99                   	cltd
56f999:	e8 e6 b6 fe ff       	call   0x55b084
56f99e:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56f9a2:	c1 fa 0d             	sar    $0xd,%edx
56f9a5:	89 06                	mov    %eax,(%esi)
56f9a7:	8b d3                	mov    %ebx,%edx
56f9a9:	c1 e2 02             	shl    $0x2,%edx
56f9ac:	03 f2                	add    %edx,%esi
56f9ae:	8b cd                	mov    %ebp,%ecx
56f9b0:	83 c5 ff             	add    $0xffffffff,%ebp
56f9b3:	85 c9                	test   %ecx,%ecx
56f9b5:	7f d8                	jg     0x56f98f
56f9b7:	8b 44 24 28          	mov    0x28(%esp),%eax
56f9bb:	c1 e0 02             	shl    $0x2,%eax
56f9be:	01 44 24 08          	add    %eax,0x8(%esp)
56f9c2:	8b 54 24 2c          	mov    0x2c(%esp),%edx
56f9c6:	83 44 24 2c ff       	addl   $0xffffffff,0x2c(%esp)
56f9cb:	85 d2                	test   %edx,%edx
56f9cd:	0f 8f 27 fc ff ff    	jg     0x56f5fa
56f9d3:	eb 05                	jmp    0x56f9da
56f9d5:	e8 6e b1 fe ff       	call   0x55ab48
56f9da:	83 c4 50             	add    $0x50,%esp
56f9dd:	5d                   	pop    %ebp
56f9de:	5f                   	pop    %edi
56f9df:	5e                   	pop    %esi
56f9e0:	5b                   	pop    %ebx
56f9e1:	c3                   	ret
56f9e2:	90                   	nop
56f9e3:	90                   	nop
56f9e4:	53                   	push   %ebx
56f9e5:	56                   	push   %esi
56f9e6:	57                   	push   %edi
56f9e7:	55                   	push   %ebp
56f9e8:	83 c4 b0             	add    $0xffffffb0,%esp
56f9eb:	8b f1                	mov    %ecx,%esi
56f9ed:	89 54 24 04          	mov    %edx,0x4(%esp)
56f9f1:	89 04 24             	mov    %eax,(%esp)
56f9f4:	f6 44 24 06 01       	testb  $0x1,0x6(%esp)
56f9f9:	74 41                	je     0x56fa3c
56f9fb:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%esp)
56fa02:	00
56fa03:	8b 46 14             	mov    0x14(%esi),%eax
56fa06:	48                   	dec    %eax
56fa07:	7e 19                	jle    0x56fa22
56fa09:	8b 56 1c             	mov    0x1c(%esi),%edx
56fa0c:	8b 46 1c             	mov    0x1c(%esi),%eax
56fa0f:	8b 5a 04             	mov    0x4(%edx),%ebx
56fa12:	8b 10                	mov    (%eax),%edx
56fa14:	2b da                	sub    %edx,%ebx
56fa16:	85 db                	test   %ebx,%ebx
56fa18:	79 03                	jns    0x56fa1d
56fa1a:	83 c3 03             	add    $0x3,%ebx
56fa1d:	c1 fb 02             	sar    $0x2,%ebx
56fa20:	eb 02                	jmp    0x56fa24
56fa22:	33 db                	xor    %ebx,%ebx
56fa24:	8b 46 0c             	mov    0xc(%esi),%eax
56fa27:	8b 56 04             	mov    0x4(%esi),%edx
56fa2a:	2b c2                	sub    %edx,%eax
56fa2c:	89 44 24 2c          	mov    %eax,0x2c(%esp)
56fa30:	8b 7e 08             	mov    0x8(%esi),%edi
56fa33:	8b 46 10             	mov    0x10(%esi),%eax
56fa36:	89 44 24 0c          	mov    %eax,0xc(%esp)
56fa3a:	eb 40                	jmp    0x56fa7c
56fa3c:	8b 56 14             	mov    0x14(%esi),%edx
56fa3f:	4a                   	dec    %edx
56fa40:	7e 19                	jle    0x56fa5b
56fa42:	8b 4e 1c             	mov    0x1c(%esi),%ecx
56fa45:	8b 56 1c             	mov    0x1c(%esi),%edx
56fa48:	8b 41 04             	mov    0x4(%ecx),%eax
56fa4b:	8b 0a                	mov    (%edx),%ecx
56fa4d:	2b c1                	sub    %ecx,%eax
56fa4f:	85 c0                	test   %eax,%eax
56fa51:	79 03                	jns    0x56fa56
56fa53:	83 c0 03             	add    $0x3,%eax
56fa56:	c1 f8 02             	sar    $0x2,%eax
56fa59:	eb 02                	jmp    0x56fa5d
56fa5b:	33 c0                	xor    %eax,%eax
56fa5d:	89 44 24 28          	mov    %eax,0x28(%esp)
56fa61:	bb 01 00 00 00       	mov    $0x1,%ebx
56fa66:	8b 46 10             	mov    0x10(%esi),%eax
56fa69:	8b 56 08             	mov    0x8(%esi),%edx
56fa6c:	2b c2                	sub    %edx,%eax
56fa6e:	89 44 24 2c          	mov    %eax,0x2c(%esp)