4157b7:	56                   	push   %esi
4157b8:	6a 00                	push   $0x0
4157ba:	6a 00                	push   $0x0
4157bc:	8b 45 dc             	mov    -0x24(%ebp),%eax
4157bf:	50                   	push   %eax
4157c0:	e8 eb f1 fe ff       	call   0x4049b0
4157c5:	68 20 00 cc 00       	push   $0xcc0020
4157ca:	6a 00                	push   $0x0
4157cc:	6a 00                	push   $0x0
4157ce:	8b 45 dc             	mov    -0x24(%ebp),%eax
4157d1:	50                   	push   %eax
4157d2:	53                   	push   %ebx
4157d3:	56                   	push   %esi
4157d4:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4157d7:	50                   	push   %eax
4157d8:	8b 45 b0             	mov    -0x50(%ebp),%eax
4157db:	50                   	push   %eax
4157dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4157df:	50                   	push   %eax
4157e0:	e8 c3 f0 fe ff       	call   0x4048a8
4157e5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4157e8:	50                   	push   %eax
4157e9:	8b 45 d8             	mov    -0x28(%ebp),%eax
4157ec:	50                   	push   %eax
4157ed:	e8 66 f1 fe ff       	call   0x404958
4157f2:	50                   	push   %eax
4157f3:	e8 08 f1 fe ff       	call   0x404900
4157f8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4157fb:	50                   	push   %eax
4157fc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4157ff:	50                   	push   %eax
415800:	e8 53 f1 fe ff       	call   0x404958
415805:	50                   	push   %eax
415806:	e8 f5 f0 fe ff       	call   0x404900
41580b:	8b 45 e0             	mov    -0x20(%ebp),%eax
41580e:	50                   	push   %eax
41580f:	8b 45 dc             	mov    -0x24(%ebp),%eax
415812:	50                   	push   %eax
415813:	e8 40 f1 fe ff       	call   0x404958
415818:	50                   	push   %eax
415819:	e8 e2 f0 fe ff       	call   0x404900
41581e:	8b 45 c0             	mov    -0x40(%ebp),%eax
415821:	50                   	push   %eax
415822:	57                   	push   %edi
415823:	e8 30 f1 fe ff       	call   0x404958
415828:	50                   	push   %eax
415829:	e8 d2 f0 fe ff       	call   0x404900
41582e:	8b 45 dc             	mov    -0x24(%ebp),%eax
415831:	50                   	push   %eax
415832:	e8 c1 f0 fe ff       	call   0x4048f8
415837:	8b 45 d8             	mov    -0x28(%ebp),%eax
41583a:	50                   	push   %eax
41583b:	e8 b8 f0 fe ff       	call   0x4048f8
415840:	8b 45 d4             	mov    -0x2c(%ebp),%eax
415843:	50                   	push   %eax
415844:	e8 af f0 fe ff       	call   0x4048f8
415849:	57                   	push   %edi
41584a:	e8 a9 f0 fe ff       	call   0x4048f8
41584f:	5f                   	pop    %edi
415850:	5e                   	pop    %esi
415851:	5b                   	pop    %ebx
415852:	8b e5                	mov    %ebp,%esp
415854:	5d                   	pop    %ebp
415855:	c2 0c 00             	ret    $0xc
415858:	53                   	push   %ebx
415859:	56                   	push   %esi
41585a:	33 f6                	xor    %esi,%esi
41585c:	b9 d0 99 42 00       	mov    $0x4299d0,%ecx
415861:	8b c6                	mov    %esi,%eax
415863:	ba 08 00 00 00       	mov    $0x8,%edx
415868:	8b d8                	mov    %eax,%ebx
41586a:	83 e3 01             	and    $0x1,%ebx
41586d:	84 db                	test   %bl,%bl
41586f:	74 09                	je     0x41587a
415871:	d1 e8                	shr    $1,%eax
415873:	35 20 83 b8 ed       	xor    $0xedb88320,%eax
415878:	eb 02                	jmp    0x41587c
41587a:	d1 e8                	shr    $1,%eax
41587c:	4a                   	dec    %edx
41587d:	75 e9                	jne    0x415868
41587f:	89 01                	mov    %eax,(%ecx)
415881:	46                   	inc    %esi
415882:	83 c1 04             	add    $0x4,%ecx
415885:	81 fe 00 01 00 00    	cmp    $0x100,%esi
41588b:	75 d4                	jne    0x415861
41588d:	c6 05 d0 9d 42 00 01 	movb   $0x1,0x429dd0
415894:	5e                   	pop    %esi
415895:	5b                   	pop    %ebx
415896:	c3                   	ret
415897:	90                   	nop
415898:	53                   	push   %ebx
415899:	56                   	push   %esi
41589a:	57                   	push   %edi
41589b:	8b f9                	mov    %ecx,%edi
41589d:	8b f2                	mov    %edx,%esi
41589f:	8b d8                	mov    %eax,%ebx
4158a1:	80 3d d0 9d 42 00 00 	cmpb   $0x0,0x429dd0
4158a8:	75 05                	jne    0x4158af
4158aa:	e8 a9 ff ff ff       	call   0x415858
4158af:	8b c7                	mov    %edi,%eax
4158b1:	48                   	dec    %eax
4158b2:	85 c0                	test   %eax,%eax
4158b4:	7c 22                	jl     0x4158d8
4158b6:	40                   	inc    %eax
4158b7:	33 d2                	xor    %edx,%edx
4158b9:	33 c9                	xor    %ecx,%ecx
4158bb:	8a 0c 16             	mov    (%esi,%edx,1),%cl
4158be:	33 cb                	xor    %ebx,%ecx
4158c0:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4158c6:	8b 0c 8d d0 99 42 00 	mov    0x4299d0(,%ecx,4),%ecx
4158cd:	c1 eb 08             	shr    $0x8,%ebx
4158d0:	33 cb                	xor    %ebx,%ecx
4158d2:	8b d9                	mov    %ecx,%ebx
4158d4:	42                   	inc    %edx
4158d5:	48                   	dec    %eax
4158d6:	75 e1                	jne    0x4158b9
4158d8:	8b c3                	mov    %ebx,%eax
4158da:	5f                   	pop    %edi
4158db:	5e                   	pop    %esi
4158dc:	5b                   	pop    %ebx
4158dd:	c3                   	ret
4158de:	8b c0                	mov    %eax,%eax
4158e0:	53                   	push   %ebx
4158e1:	56                   	push   %esi
4158e2:	57                   	push   %edi
4158e3:	55                   	push   %ebp
4158e4:	51                   	push   %ecx
4158e5:	88 14 24             	mov    %dl,(%esp)
4158e8:	8b d8                	mov    %eax,%ebx
4158ea:	33 c0                	xor    %eax,%eax
4158ec:	8a 04 24             	mov    (%esp),%al
4158ef:	8b f1                	mov    %ecx,%esi
4158f1:	81 e6 ff 00 00 00    	and    $0xff,%esi
4158f7:	2b c6                	sub    %esi,%eax
4158f9:	99                   	cltd
4158fa:	33 c2                	xor    %edx,%eax
4158fc:	2b c2                	sub    %edx,%eax
4158fe:	8b f8                	mov    %eax,%edi
415900:	33 c0                	xor    %eax,%eax
415902:	8a c3                	mov    %bl,%al
415904:	2b c6                	sub    %esi,%eax
415906:	99                   	cltd
415907:	33 c2                	xor    %edx,%eax
415909:	2b c2                	sub    %edx,%eax
41590b:	8b e8                	mov    %eax,%ebp
41590d:	33 c0                	xor    %eax,%eax
41590f:	8a c3                	mov    %bl,%al
415911:	33 d2                	xor    %edx,%edx
415913:	8a 14 24             	mov    (%esp),%dl
415916:	03 c2                	add    %edx,%eax
415918:	8b d6                	mov    %esi,%edx
41591a:	03 d2                	add    %edx,%edx
41591c:	2b c2                	sub    %edx,%eax
41591e:	99                   	cltd
41591f:	33 c2                	xor    %edx,%eax
415921:	2b c2                	sub    %edx,%eax
415923:	3b ef                	cmp    %edi,%ebp
415925:	7c 08                	jl     0x41592f
415927:	3b c7                	cmp    %edi,%eax
415929:	7c 04                	jl     0x41592f
41592b:	8b c3                	mov    %ebx,%eax
41592d:	eb 0b                	jmp    0x41593a
41592f:	3b c5                	cmp    %ebp,%eax
415931:	7c 05                	jl     0x415938
415933:	8a 04 24             	mov    (%esp),%al
415936:	eb 02                	jmp    0x41593a
415938:	8b c1                	mov    %ecx,%eax
41593a:	5a                   	pop    %edx
41593b:	5d                   	pop    %ebp
41593c:	5f                   	pop    %edi
41593d:	5e                   	pop    %esi
41593e:	5b                   	pop    %ebx
41593f:	c3                   	ret
415940:	0f c8                	bswap  %eax
415942:	c3                   	ret
415943:	90                   	nop
415944:	81 e2 ff 00 00 00    	and    $0xff,%edx
41594a:	83 fa 06             	cmp    $0x6,%edx
41594d:	77 7c                	ja     0x4159cb
41594f:	ff 24 95 56 59 41 00 	jmp    *0x415956(,%edx,4)
415956:	72 59                	jb     0x4159b1
415958:	41                   	inc    %ecx
415959:	00 cb                	add    %cl,%bl
41595b:	59                   	pop    %ecx
41595c:	41                   	inc    %ecx
41595d:	00 89 59 41 00 72    	add    %cl,0x72004159(%ecx)
415963:	59                   	pop    %ecx
415964:	41                   	inc    %ecx
415965:	00 9e 59 41 00 cb    	add    %bl,-0x34ffbea7(%esi)
41596b:	59                   	pop    %ecx
41596c:	41                   	inc    %ecx
41596d:	00 b4 59 41 00 33 d2 	add    %dh,-0x2dccffbf(%ecx,%ebx,2)
415974:	8a d1                	mov    %cl,%dl
415976:	0f af d0             	imul   %eax,%edx
415979:	83 c2 07             	add    $0x7,%edx
41597c:	85 d2                	test   %edx,%edx
41597e:	79 03                	jns    0x415983
415980:	83 c2 07             	add    $0x7,%edx
415983:	c1 fa 03             	sar    $0x3,%edx
415986:	8b c2                	mov    %edx,%eax
415988:	c3                   	ret
415989:	33 d2                	xor    %edx,%edx
41598b:	8a d1                	mov    %cl,%dl
41598d:	0f af d0             	imul   %eax,%edx
415990:	8d 04 52             	lea    (%edx,%edx,2),%eax
415993:	85 c0                	test   %eax,%eax
415995:	79 03                	jns    0x41599a
415997:	83 c0 07             	add    $0x7,%eax
41599a:	c1 f8 03             	sar    $0x3,%eax
41599d:	c3                   	ret
41599e:	33 d2                	xor    %edx,%edx
4159a0:	8a d1                	mov    %cl,%dl
4159a2:	0f af d0             	imul   %eax,%edx
4159a5:	8b c2                	mov    %edx,%eax
4159a7:	03 c0                	add    %eax,%eax
4159a9:	85 c0                	test   %eax,%eax
4159ab:	79 03                	jns    0x4159b0
4159ad:	83 c0 07             	add    $0x7,%eax
4159b0:	c1 f8 03             	sar    $0x3,%eax
4159b3:	c3                   	ret
4159b4:	33 d2                	xor    %edx,%edx
4159b6:	8a d1                	mov    %cl,%dl
4159b8:	0f af d0             	imul   %eax,%edx
4159bb:	8b c2                	mov    %edx,%eax
4159bd:	c1 e0 02             	shl    $0x2,%eax
4159c0:	85 c0                	test   %eax,%eax
4159c2:	79 03                	jns    0x4159c7
4159c4:	83 c0 07             	add    $0x7,%eax
4159c7:	c1 f8 03             	sar    $0x3,%eax
4159ca:	c3                   	ret
4159cb:	33 c0                	xor    %eax,%eax
4159cd:	c3                   	ret
4159ce:	8b c0                	mov    %eax,%eax
4159d0:	89 50 1c             	mov    %edx,0x1c(%eax)
4159d3:	83 c0 18             	add    $0x18,%eax
4159d6:	42                   	inc    %edx
4159d7:	e8 a4 ce fe ff       	call   0x402880
4159dc:	c3                   	ret
4159dd:	8d 40 00             	lea    0x0(%eax),%eax
4159e0:	8b d0                	mov    %eax,%edx
4159e2:	8b 40 20             	mov    0x20(%eax),%eax
4159e5:	8b 80 3c 02 00 00    	mov    0x23c(%eax),%eax
4159eb:	e8 94 f8 fe ff       	call   0x405284
4159f0:	c3                   	ret
4159f1:	8d 40 00             	lea    0x0(%eax),%eax
4159f4:	53                   	push   %ebx
4159f5:	51                   	push   %ecx
4159f6:	8b d8                	mov    %eax,%ebx
4159f8:	8b 43 20             	mov    0x20(%ebx),%eax
4159fb:	8b 80 3c 02 00 00    	mov    0x23c(%eax),%eax
415a01:	33 d2                	xor    %edx,%edx
415a03:	e8 fc 48 ff ff       	call   0x40a304
415a08:	89 04 24             	mov    %eax,(%esp)
415a0b:	8b 04 24             	mov    (%esp),%eax
415a0e:	5a                   	pop    %edx
415a0f:	5b                   	pop    %ebx
415a10:	c3                   	ret
415a11:	8d 40 00             	lea    0x0(%eax),%eax
415a14:	53                   	push   %ebx
415a15:	56                   	push   %esi
415a16:	e8 91 d1 fe ff       	call   0x402bac
415a1b:	74 24                	je     0x415a41
415a1d:	8b f1                	mov    %ecx,%esi
415a1f:	8b d8                	mov    %eax,%ebx
415a21:	8b c3                	mov    %ebx,%eax
415a23:	33 d2                	xor    %edx,%edx
415a25:	e8 d6 47 ff ff       	call   0x40a200
415a2a:	b8 01 00 00 00       	mov    $0x1,%eax
415a2f:	e8 fc cd fe ff       	call   0x402830
415a34:	89 43 18             	mov    %eax,0x18(%ebx)
415a37:	33 c0                	xor    %eax,%eax
415a39:	89 43 1c             	mov    %eax,0x1c(%ebx)
415a3c:	89 73 20             	mov    %esi,0x20(%ebx)
415a3f:	8b c3                	mov    %ebx,%eax
415a41:	5e                   	pop    %esi
415a42:	5b                   	pop    %ebx
415a43:	c3                   	ret
415a44:	53                   	push   %ebx
415a45:	8b d8                	mov    %eax,%ebx
415a47:	8d 43 24             	lea    0x24(%ebx),%eax
415a4a:	e8 45 dc fe ff       	call   0x403694
415a4f:	8b 43 18             	mov    0x18(%ebx),%eax
415a52:	e8 09 ce fe ff       	call   0x402860
415a57:	8b c3                	mov    %ebx,%eax
415a59:	e8 c2 47 ff ff       	call   0x40a220
415a5e:	8b c3                	mov    %ebx,%eax
415a60:	5b                   	pop    %ebx
415a61:	c3                   	ret
415a62:	8b c0                	mov    %eax,%eax
415a64:	53                   	push   %ebx
415a65:	56                   	push   %esi
415a66:	83 c4 f4             	add    $0xfffffff4,%esp
415a69:	8b f2                	mov    %edx,%esi
415a6b:	8b d8                	mov    %eax,%ebx
415a6d:	8b 43 1c             	mov    0x1c(%ebx),%eax
415a70:	e8 cb fe ff ff       	call   0x415940
415a75:	89 04 24             	mov    %eax,(%esp)
415a78:	8b d4                	mov    %esp,%edx
415a7a:	b9 04 00 00 00       	mov    $0x4,%ecx
415a7f:	8b c6                	mov    %esi,%eax
415a81:	e8 de 0f ff ff       	call   0x406a64
415a86:	8b 43 24             	mov    0x24(%ebx),%eax
415a89:	e8 66 e0 fe ff       	call   0x403af4
415a8e:	8d 54 24 08          	lea    0x8(%esp),%edx
415a92:	b9 04 00 00 00       	mov    $0x4,%ecx
415a97:	e8 a8 ce fe ff       	call   0x402944
415a9c:	8d 54 24 08          	lea    0x8(%esp),%edx
415aa0:	b9 04 00 00 00       	mov    $0x4,%ecx
415aa5:	8b c6                	mov    %esi,%eax
415aa7:	e8 b8 0f ff ff       	call   0x406a64
415aac:	8b 43 1c             	mov    0x1c(%ebx),%eax
415aaf:	85 c0                	test   %eax,%eax
415ab1:	76 0c                	jbe    0x415abf
415ab3:	8b c8                	mov    %eax,%ecx
415ab5:	8b 53 18             	mov    0x18(%ebx),%edx
415ab8:	8b c6                	mov    %esi,%eax
415aba:	e8 a5 0f ff ff       	call   0x406a64
415abf:	8d 54 24 08          	lea    0x8(%esp),%edx
415ac3:	b9 04 00 00 00       	mov    $0x4,%ecx
415ac8:	83 c8 ff             	or     $0xffffffff,%eax
415acb:	e8 c8 fd ff ff       	call   0x415898
415ad0:	89 44 24 04          	mov    %eax,0x4(%esp)
415ad4:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
415ad7:	8b 53 18             	mov    0x18(%ebx),%edx
415ada:	8b 44 24 04          	mov    0x4(%esp),%eax
415ade:	e8 b5 fd ff ff       	call   0x415898
415ae3:	83 f0 ff             	xor    $0xffffffff,%eax
415ae6:	e8 55 fe ff ff       	call   0x415940
415aeb:	89 44 24 04          	mov    %eax,0x4(%esp)
415aef:	8d 54 24 04          	lea    0x4(%esp),%edx
415af3:	b9 04 00 00 00       	mov    $0x4,%ecx
415af8:	8b c6                	mov    %esi,%eax
415afa:	e8 65 0f ff ff       	call   0x406a64
415aff:	b0 01                	mov    $0x1,%al
415b01:	83 c4 0c             	add    $0xc,%esp
415b04:	5e                   	pop    %esi
415b05:	5b                   	pop    %ebx
415b06:	c3                   	ret
415b07:	90                   	nop
415b08:	55                   	push   %ebp
415b09:	8b ec                	mov    %esp,%ebp
415b0b:	83 c4 f8             	add    $0xfffffff8,%esp
415b0e:	53                   	push   %ebx
415b0f:	56                   	push   %esi
415b10:	57                   	push   %edi
415b11:	89 4d fc             	mov    %ecx,-0x4(%ebp)
415b14:	8b f2                	mov    %edx,%esi
415b16:	8b d8                	mov    %eax,%ebx
415b18:	8b 7d 08             	mov    0x8(%ebp),%edi
415b1b:	8b c3                	mov    %ebx,%eax