42072c:	74 1a                	je     0x420748
42072e:	83 f8 58             	cmp    $0x58,%eax
420731:	74 15                	je     0x420748
420733:	85 ff                	test   %edi,%edi
420735:	75 06                	jne    0x42073d
420737:	6a 08                	push   $0x8
420739:	5f                   	pop    %edi
42073a:	89 7d 14             	mov    %edi,0x14(%ebp)
42073d:	50                   	push   %eax
42073e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
420741:	e8 ff ee ff ff       	call   0x41f645
420746:	eb 1f                	jmp    0x420767
420748:	85 ff                	test   %edi,%edi
42074a:	75 06                	jne    0x420752
42074c:	6a 10                	push   $0x10
42074e:	5f                   	pop    %edi
42074f:	89 7d 14             	mov    %edi,0x14(%ebp)
420752:	0f b7 31             	movzwl (%ecx),%esi
420755:	83 c1 02             	add    $0x2,%ecx
420758:	89 4d 0c             	mov    %ecx,0xc(%ebp)
42075b:	eb 0a                	jmp    0x420767
42075d:	85 ff                	test   %edi,%edi
42075f:	75 06                	jne    0x420767
420761:	6a 0a                	push   $0xa
420763:	5f                   	pop    %edi
420764:	89 7d 14             	mov    %edi,0x14(%ebp)
420767:	83 c8 ff             	or     $0xffffffff,%eax
42076a:	33 d2                	xor    %edx,%edx
42076c:	f7 f7                	div    %edi
42076e:	8b f8                	mov    %eax,%edi
420770:	6a 30                	push   $0x30
420772:	58                   	pop    %eax
420773:	66 3b f0             	cmp    %ax,%si
420776:	0f 82 4c 01 00 00    	jb     0x4208c8
42077c:	6a 3a                	push   $0x3a
42077e:	59                   	pop    %ecx
42077f:	66 3b f1             	cmp    %cx,%si
420782:	0f 82 36 01 00 00    	jb     0x4208be
420788:	b8 10 ff 00 00       	mov    $0xff10,%eax
42078d:	66 3b f0             	cmp    %ax,%si
420790:	0f 83 1f 01 00 00    	jae    0x4208b5
420796:	8b 45 f8             	mov    -0x8(%ebp),%eax
420799:	66 3b f0             	cmp    %ax,%si
42079c:	0f 82 26 01 00 00    	jb     0x4208c8
4207a2:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
4207a6:	0f 82 12 01 00 00    	jb     0x4208be
4207ac:	8b 45 f0             	mov    -0x10(%ebp),%eax
4207af:	66 3b f0             	cmp    %ax,%si
4207b2:	0f 82 10 01 00 00    	jb     0x4208c8
4207b8:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
4207bc:	0f 82 fc 00 00 00    	jb     0x4208be
4207c2:	8b 45 e8             	mov    -0x18(%ebp),%eax
4207c5:	66 3b f0             	cmp    %ax,%si
4207c8:	0f 82 fa 00 00 00    	jb     0x4208c8
4207ce:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
4207d2:	0f 82 e6 00 00 00    	jb     0x4208be
4207d8:	8b 45 e0             	mov    -0x20(%ebp),%eax
4207db:	66 3b f0             	cmp    %ax,%si
4207de:	0f 82 e4 00 00 00    	jb     0x4208c8
4207e4:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
4207e8:	0f 82 d0 00 00 00    	jb     0x4208be
4207ee:	8b 45 d8             	mov    -0x28(%ebp),%eax
4207f1:	66 3b f0             	cmp    %ax,%si
4207f4:	0f 82 ce 00 00 00    	jb     0x4208c8
4207fa:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
4207fe:	0f 82 ba 00 00 00    	jb     0x4208be
420804:	8b 45 d0             	mov    -0x30(%ebp),%eax
420807:	66 3b f0             	cmp    %ax,%si
42080a:	0f 82 b8 00 00 00    	jb     0x4208c8
420810:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
420814:	0f 82 a4 00 00 00    	jb     0x4208be
42081a:	8b 45 c8             	mov    -0x38(%ebp),%eax
42081d:	66 3b f0             	cmp    %ax,%si
420820:	0f 82 a2 00 00 00    	jb     0x4208c8
420826:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
42082a:	0f 82 8e 00 00 00    	jb     0x4208be
420830:	8b 45 c0             	mov    -0x40(%ebp),%eax
420833:	66 3b f0             	cmp    %ax,%si
420836:	0f 82 8c 00 00 00    	jb     0x4208c8
42083c:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
420840:	72 7c                	jb     0x4208be
420842:	8b 45 b8             	mov    -0x48(%ebp),%eax
420845:	66 3b f0             	cmp    %ax,%si
420848:	72 7e                	jb     0x4208c8
42084a:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
42084e:	72 6e                	jb     0x4208be
420850:	8b 45 b0             	mov    -0x50(%ebp),%eax
420853:	66 3b f0             	cmp    %ax,%si
420856:	72 70                	jb     0x4208c8
420858:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
42085c:	72 60                	jb     0x4208be
42085e:	8b 45 a8             	mov    -0x58(%ebp),%eax
420861:	66 3b f0             	cmp    %ax,%si
420864:	72 62                	jb     0x4208c8
420866:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
42086a:	72 52                	jb     0x4208be
42086c:	8b 45 a0             	mov    -0x60(%ebp),%eax
42086f:	66 3b f0             	cmp    %ax,%si
420872:	72 54                	jb     0x4208c8
420874:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
420878:	72 44                	jb     0x4208be
42087a:	8b 45 98             	mov    -0x68(%ebp),%eax
42087d:	66 3b f0             	cmp    %ax,%si
420880:	72 46                	jb     0x4208c8
420882:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
420886:	72 36                	jb     0x4208be
420888:	8b 45 90             	mov    -0x70(%ebp),%eax
42088b:	66 3b f0             	cmp    %ax,%si
42088e:	72 38                	jb     0x4208c8
420890:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
420894:	72 28                	jb     0x4208be
420896:	8b 45 88             	mov    -0x78(%ebp),%eax
420899:	66 3b f0             	cmp    %ax,%si
42089c:	72 2a                	jb     0x4208c8
42089e:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
4208a2:	72 1a                	jb     0x4208be
4208a4:	8b 45 80             	mov    -0x80(%ebp),%eax
4208a7:	66 3b f0             	cmp    %ax,%si
4208aa:	72 1c                	jb     0x4208c8
4208ac:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
4208b3:	eb 07                	jmp    0x4208bc
4208b5:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
4208bc:	73 0a                	jae    0x4208c8
4208be:	0f b7 ce             	movzwl %si,%ecx
4208c1:	2b c8                	sub    %eax,%ecx
4208c3:	83 f9 ff             	cmp    $0xffffffff,%ecx
4208c6:	75 2e                	jne    0x4208f6
4208c8:	0f b7 ce             	movzwl %si,%ecx
4208cb:	83 f9 41             	cmp    $0x41,%ecx
4208ce:	72 05                	jb     0x4208d5
4208d0:	83 f9 5a             	cmp    $0x5a,%ecx
4208d3:	76 0b                	jbe    0x4208e0
4208d5:	83 f9 61             	cmp    $0x61,%ecx
4208d8:	72 19                	jb     0x4208f3
4208da:	66 83 fe 7a          	cmp    $0x7a,%si
4208de:	77 13                	ja     0x4208f3
4208e0:	6a 19                	push   $0x19
4208e2:	8d 46 9f             	lea    -0x61(%esi),%eax
4208e5:	5a                   	pop    %edx
4208e6:	66 3b c2             	cmp    %dx,%ax
4208e9:	77 03                	ja     0x4208ee
4208eb:	83 c1 e0             	add    $0xffffffe0,%ecx
4208ee:	83 c1 c9             	add    $0xffffffc9,%ecx
4208f1:	eb 03                	jmp    0x4208f6
4208f3:	83 c9 ff             	or     $0xffffffff,%ecx
4208f6:	8b 55 14             	mov    0x14(%ebp),%edx
4208f9:	3b ca                	cmp    %edx,%ecx
4208fb:	73 34                	jae    0x420931
4208fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
420900:	0f af c2             	imul   %edx,%eax
420903:	8d 14 08             	lea    (%eax,%ecx,1),%edx
420906:	3b d0                	cmp    %eax,%edx
420908:	1b c9                	sbb    %ecx,%ecx
42090a:	f7 d9                	neg    %ecx
42090c:	3b 7d fc             	cmp    -0x4(%ebp),%edi
42090f:	89 55 fc             	mov    %edx,-0x4(%ebp)
420912:	1b c0                	sbb    %eax,%eax
420914:	f7 d8                	neg    %eax
420916:	0b c8                	or     %eax,%ecx
420918:	c1 e1 02             	shl    $0x2,%ecx
42091b:	83 c9 08             	or     $0x8,%ecx
42091e:	0b d9                	or     %ecx,%ebx
420920:	8b 4d 0c             	mov    0xc(%ebp),%ecx
420923:	0f b7 31             	movzwl (%ecx),%esi
420926:	83 c1 02             	add    $0x2,%ecx
420929:	89 4d 0c             	mov    %ecx,0xc(%ebp)
42092c:	e9 3f fe ff ff       	jmp    0x420770
420931:	56                   	push   %esi
420932:	8d 4d 0c             	lea    0xc(%ebp),%ecx
420935:	e8 0b ed ff ff       	call   0x41f645
42093a:	f6 c3 08             	test   $0x8,%bl
42093d:	75 13                	jne    0x420952
42093f:	8b 45 10             	mov    0x10(%ebp),%eax
420942:	85 c0                	test   %eax,%eax
420944:	74 08                	je     0x42094e
420946:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
42094c:	89 08                	mov    %ecx,(%eax)
42094e:	33 c0                	xor    %eax,%eax
420950:	eb 65                	jmp    0x4209b7
420952:	8b 75 fc             	mov    -0x4(%ebp),%esi
420955:	56                   	push   %esi
420956:	53                   	push   %ebx
420957:	e8 47 de ff ff       	call   0x41e7a3
42095c:	59                   	pop    %ecx
42095d:	59                   	pop    %ecx
42095e:	84 c0                	test   %al,%al
420960:	74 40                	je     0x4209a2
420962:	8b 45 08             	mov    0x8(%ebp),%eax
420965:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
420969:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
420970:	f6 c3 01             	test   $0x1,%bl
420973:	75 05                	jne    0x42097a
420975:	83 ce ff             	or     $0xffffffff,%esi
420978:	eb 2f                	jmp    0x4209a9
42097a:	8b 4d 10             	mov    0x10(%ebp),%ecx
42097d:	f6 c3 02             	test   $0x2,%bl
420980:	74 10                	je     0x420992
420982:	85 c9                	test   %ecx,%ecx
420984:	74 05                	je     0x42098b
420986:	8b 45 0c             	mov    0xc(%ebp),%eax
420989:	89 01                	mov    %eax,(%ecx)
42098b:	b8 00 00 00 80       	mov    $0x80000000,%eax
420990:	eb 25                	jmp    0x4209b7
420992:	85 c9                	test   %ecx,%ecx
420994:	74 05                	je     0x42099b
420996:	8b 45 0c             	mov    0xc(%ebp),%eax
420999:	89 01                	mov    %eax,(%ecx)
42099b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4209a0:	eb 15                	jmp    0x4209b7
4209a2:	f6 c3 02             	test   $0x2,%bl
4209a5:	74 02                	je     0x4209a9
4209a7:	f7 de                	neg    %esi
4209a9:	8b 55 10             	mov    0x10(%ebp),%edx
4209ac:	85 d2                	test   %edx,%edx
4209ae:	74 05                	je     0x4209b5
4209b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4209b3:	89 0a                	mov    %ecx,(%edx)
4209b5:	8b c6                	mov    %esi,%eax
4209b7:	5f                   	pop    %edi
4209b8:	5e                   	pop    %esi
4209b9:	5b                   	pop    %ebx
4209ba:	c9                   	leave
4209bb:	c3                   	ret
4209bc:	8b ff                	mov    %edi,%edi
4209be:	56                   	push   %esi
4209bf:	8b f1                	mov    %ecx,%esi
4209c1:	57                   	push   %edi
4209c2:	8b be 04 04 00 00    	mov    0x404(%esi),%edi
4209c8:	e8 5a f6 ff ff       	call   0x420027
4209cd:	85 ff                	test   %edi,%edi
4209cf:	75 04                	jne    0x4209d5
4209d1:	03 c6                	add    %esi,%eax
4209d3:	eb 02                	jmp    0x4209d7
4209d5:	03 c7                	add    %edi,%eax
4209d7:	5f                   	pop    %edi
4209d8:	5e                   	pop    %esi
4209d9:	c3                   	ret
4209da:	8b ff                	mov    %edi,%edi
4209dc:	55                   	push   %ebp
4209dd:	8b ec                	mov    %esp,%ebp
4209df:	83 ec 0c             	sub    $0xc,%esp
4209e2:	53                   	push   %ebx
4209e3:	56                   	push   %esi
4209e4:	8b f1                	mov    %ecx,%esi
4209e6:	57                   	push   %edi
4209e7:	ff 76 28             	push   0x28(%esi)
4209ea:	e8 5d 22 00 00       	call   0x422c4c
4209ef:	59                   	pop    %ecx
4209f0:	8b c8                	mov    %eax,%ecx
4209f2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4209f5:	6a 00                	push   $0x0
4209f7:	5b                   	pop    %ebx
4209f8:	83 e9 01             	sub    $0x1,%ecx
4209fb:	0f 84 99 00 00 00    	je     0x420a9a
420a01:	83 e9 01             	sub    $0x1,%ecx
420a04:	74 75                	je     0x420a7b
420a06:	49                   	dec    %ecx
420a07:	83 e9 01             	sub    $0x1,%ecx
420a0a:	74 46                	je     0x420a52
420a0c:	83 e9 04             	sub    $0x4,%ecx
420a0f:	74 27                	je     0x420a38
420a11:	8b 46 08             	mov    0x8(%esi),%eax
420a14:	83 c0 18             	add    $0x18,%eax
420a17:	c6 40 04 01          	movb   $0x1,0x4(%eax)
420a1b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
420a21:	ff 76 08             	push   0x8(%esi)
420a24:	53                   	push   %ebx
420a25:	53                   	push   %ebx
420a26:	53                   	push   %ebx
420a27:	53                   	push   %ebx
420a28:	53                   	push   %ebx
420a29:	e8 d8 ee ff ff       	call   0x41f906
420a2e:	83 c4 18             	add    $0x18,%esp
420a31:	32 c0                	xor    %al,%al
420a33:	e9 28 01 00 00       	jmp    0x420b60
420a38:	8b 4e 10             	mov    0x10(%esi),%ecx
420a3b:	8b 7e 1c             	mov    0x1c(%esi),%edi
420a3e:	8b c7                	mov    %edi,%eax
420a40:	c1 e8 04             	shr    $0x4,%eax
420a43:	a8 01                	test   $0x1,%al
420a45:	8d 41 08             	lea    0x8(%ecx),%eax
420a48:	89 46 10             	mov    %eax,0x10(%esi)
420a4b:	8b 01                	mov    (%ecx),%eax
420a4d:	8b 51 04             	mov    0x4(%ecx),%edx
420a50:	eb 66                	jmp    0x420ab8
420a52:	8b 7e 1c             	mov    0x1c(%esi),%edi
420a55:	8b c7                	mov    %edi,%eax
420a57:	c1 e8 04             	shr    $0x4,%eax
420a5a:	a8 01                	test   $0x1,%al
420a5c:	74 0d                	je     0x420a6b
420a5e:	8b 46 10             	mov    0x10(%esi),%eax
420a61:	8d 48 04             	lea    0x4(%eax),%ecx
420a64:	89 4e 10             	mov    %ecx,0x10(%esi)
420a67:	8b 00                	mov    (%eax),%eax
420a69:	eb 4c                	jmp    0x420ab7
420a6b:	8b 4e 10             	mov    0x10(%esi),%ecx
420a6e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
420a71:	8d 41 04             	lea    0x4(%ecx),%eax
420a74:	89 46 10             	mov    %eax,0x10(%esi)
420a77:	8b 01                	mov    (%ecx),%eax
420a79:	eb 40                	jmp    0x420abb
420a7b:	8b 7e 1c             	mov    0x1c(%esi),%edi
420a7e:	8b c7                	mov    %edi,%eax
420a80:	8b 4e 10             	mov    0x10(%esi),%ecx
420a83:	c1 e8 04             	shr    $0x4,%eax
420a86:	a8 01                	test   $0x1,%al
420a88:	8d 41 04             	lea    0x4(%ecx),%eax
420a8b:	89 46 10             	mov    %eax,0x10(%esi)
420a8e:	74 05                	je     0x420a95
420a90:	0f bf 01             	movswl (%ecx),%eax
420a93:	eb 22                	jmp    0x420ab7
420a95:	0f b7 01             	movzwl (%ecx),%eax
420a98:	eb 1d                	jmp    0x420ab7
420a9a:	8b 7e 1c             	mov    0x1c(%esi),%edi
420a9d:	8b c7                	mov    %edi,%eax
420a9f:	8b 4e 10             	mov    0x10(%esi),%ecx
420aa2:	c1 e8 04             	shr    $0x4,%eax
420aa5:	a8 01                	test   $0x1,%al
420aa7:	8d 41 04             	lea    0x4(%ecx),%eax
420aaa:	89 46 10             	mov    %eax,0x10(%esi)
420aad:	74 05                	je     0x420ab4
420aaf:	0f be 01             	movsbl (%ecx),%eax
420ab2:	eb 03                	jmp    0x420ab7
420ab4:	0f b6 01             	movzbl (%ecx),%eax
420ab7:	99                   	cltd
420ab8:	89 55 f8             	mov    %edx,-0x8(%ebp)
420abb:	8b 55 f8             	mov    -0x8(%ebp),%edx
420abe:	89 45 fc             	mov    %eax,-0x4(%ebp)
420ac1:	8b c7                	mov    %edi,%eax
420ac3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
420ac6:	c1 e8 04             	shr    $0x4,%eax
420ac9:	a8 01                	test   $0x1,%al
420acb:	74 16                	je     0x420ae3
420acd:	3b d3                	cmp    %ebx,%edx
420acf:	7f 12                	jg     0x420ae3
420ad1:	7c 04                	jl     0x420ad7
420ad3:	3b cb                	cmp    %ebx,%ecx
420ad5:	73 0c                	jae    0x420ae3
420ad7:	f7 d9                	neg    %ecx
420ad9:	13 d3                	adc    %ebx,%edx
420adb:	f7 da                	neg    %edx
420add:	83 cf 40             	or     $0x40,%edi
420ae0:	89 7e 1c             	mov    %edi,0x1c(%esi)
420ae3:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
420ae7:	89 55 f8             	mov    %edx,-0x8(%ebp)
420aea:	89 4d fc             	mov    %ecx,-0x4(%ebp)
420aed:	7d 09                	jge    0x420af8
420aef:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
420af6:	eb 1a                	jmp    0x420b12
420af8:	ff 76 08             	push   0x8(%esi)