4038f2:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
4038f6:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
4038fa:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403901:	eb 08                	jmp    0x40390b
403903:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
403907:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
40390b:	e8 b5 f2 ff ff       	call   0x402bc5
403910:	c3                   	ret
403911:	6a 08                	push   $0x8
403913:	68 e8 e6 41 00       	push   $0x41e6e8
403918:	e8 63 f2 ff ff       	call   0x402b80
40391d:	e8 58 ef ff ff       	call   0x40287a
403922:	8b 40 78             	mov    0x78(%eax),%eax
403925:	85 c0                	test   %eax,%eax
403927:	74 16                	je     0x40393f
403929:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40392d:	ff d0                	call   *%eax
40392f:	eb 07                	jmp    0x403938
403931:	33 c0                	xor    %eax,%eax
403933:	40                   	inc    %eax
403934:	c3                   	ret
403935:	8b 65 e8             	mov    -0x18(%ebp),%esp
403938:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40393f:	e8 dc 33 00 00       	call   0x406d20
403944:	e8 7c f2 ff ff       	call   0x402bc5
403949:	c3                   	ret
40394a:	68 11 39 40 00       	push   $0x403911
40394f:	e8 5f ec ff ff       	call   0x4025b3
403954:	59                   	pop    %ecx
403955:	a3 30 0e 43 00       	mov    %eax,0x430e30
40395a:	c3                   	ret
40395b:	8b ff                	mov    %edi,%edi
40395d:	56                   	push   %esi
40395e:	57                   	push   %edi
40395f:	33 f6                	xor    %esi,%esi
403961:	bf 38 0e 43 00       	mov    $0x430e38,%edi
403966:	83 3c f5 e4 f3 41 00 	cmpl   $0x1,0x41f3e4(,%esi,8)
40396d:	01
40396e:	75 1e                	jne    0x40398e
403970:	8d 04 f5 e0 f3 41 00 	lea    0x41f3e0(,%esi,8),%eax
403977:	89 38                	mov    %edi,(%eax)
403979:	68 a0 0f 00 00       	push   $0xfa0
40397e:	ff 30                	push   (%eax)
403980:	83 c7 18             	add    $0x18,%edi
403983:	e8 d4 07 00 00       	call   0x40415c
403988:	59                   	pop    %ecx
403989:	59                   	pop    %ecx
40398a:	85 c0                	test   %eax,%eax
40398c:	74 0c                	je     0x40399a
40398e:	46                   	inc    %esi
40398f:	83 fe 24             	cmp    $0x24,%esi
403992:	7c d2                	jl     0x403966
403994:	33 c0                	xor    %eax,%eax
403996:	40                   	inc    %eax
403997:	5f                   	pop    %edi
403998:	5e                   	pop    %esi
403999:	c3                   	ret
40399a:	83 24 f5 e0 f3 41 00 	andl   $0x0,0x41f3e0(,%esi,8)
4039a1:	00
4039a2:	33 c0                	xor    %eax,%eax
4039a4:	eb f1                	jmp    0x403997
4039a6:	8b ff                	mov    %edi,%edi
4039a8:	53                   	push   %ebx
4039a9:	8b 1d a8 d0 41 00    	mov    0x41d0a8,%ebx
4039af:	56                   	push   %esi
4039b0:	be e0 f3 41 00       	mov    $0x41f3e0,%esi
4039b5:	57                   	push   %edi
4039b6:	8b 3e                	mov    (%esi),%edi
4039b8:	85 ff                	test   %edi,%edi
4039ba:	74 13                	je     0x4039cf
4039bc:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
4039c0:	74 0d                	je     0x4039cf
4039c2:	57                   	push   %edi
4039c3:	ff d3                	call   *%ebx
4039c5:	57                   	push   %edi
4039c6:	e8 d8 13 00 00       	call   0x404da3
4039cb:	83 26 00             	andl   $0x0,(%esi)
4039ce:	59                   	pop    %ecx
4039cf:	83 c6 08             	add    $0x8,%esi
4039d2:	81 fe 00 f5 41 00    	cmp    $0x41f500,%esi
4039d8:	7c dc                	jl     0x4039b6
4039da:	be e0 f3 41 00       	mov    $0x41f3e0,%esi
4039df:	5f                   	pop    %edi
4039e0:	8b 06                	mov    (%esi),%eax
4039e2:	85 c0                	test   %eax,%eax
4039e4:	74 09                	je     0x4039ef
4039e6:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
4039ea:	75 03                	jne    0x4039ef
4039ec:	50                   	push   %eax
4039ed:	ff d3                	call   *%ebx
4039ef:	83 c6 08             	add    $0x8,%esi
4039f2:	81 fe 00 f5 41 00    	cmp    $0x41f500,%esi
4039f8:	7c e6                	jl     0x4039e0
4039fa:	5e                   	pop    %esi
4039fb:	5b                   	pop    %ebx
4039fc:	c3                   	ret
4039fd:	8b ff                	mov    %edi,%edi
4039ff:	55                   	push   %ebp
403a00:	8b ec                	mov    %esp,%ebp
403a02:	8b 45 08             	mov    0x8(%ebp),%eax
403a05:	ff 34 c5 e0 f3 41 00 	push   0x41f3e0(,%eax,8)
403a0c:	ff 15 e4 d0 41 00    	call   *0x41d0e4
403a12:	5d                   	pop    %ebp
403a13:	c3                   	ret
403a14:	6a 0c                	push   $0xc
403a16:	68 08 e7 41 00       	push   $0x41e708
403a1b:	e8 60 f1 ff ff       	call   0x402b80
403a20:	33 ff                	xor    %edi,%edi
403a22:	47                   	inc    %edi
403a23:	89 7d e4             	mov    %edi,-0x1c(%ebp)
403a26:	33 db                	xor    %ebx,%ebx
403a28:	39 1d 24 0e 43 00    	cmp    %ebx,0x430e24
403a2e:	75 18                	jne    0x403a48
403a30:	e8 7b e2 ff ff       	call   0x401cb0
403a35:	6a 1e                	push   $0x1e
403a37:	e8 c9 e0 ff ff       	call   0x401b05
403a3c:	68 ff 00 00 00       	push   $0xff
403a41:	e8 0b de ff ff       	call   0x401851
403a46:	59                   	pop    %ecx
403a47:	59                   	pop    %ecx
403a48:	8b 75 08             	mov    0x8(%ebp),%esi
403a4b:	8d 34 f5 e0 f3 41 00 	lea    0x41f3e0(,%esi,8),%esi
403a52:	39 1e                	cmp    %ebx,(%esi)
403a54:	74 04                	je     0x403a5a
403a56:	8b c7                	mov    %edi,%eax
403a58:	eb 6e                	jmp    0x403ac8
403a5a:	6a 18                	push   $0x18
403a5c:	e8 d0 13 00 00       	call   0x404e31
403a61:	59                   	pop    %ecx
403a62:	8b f8                	mov    %eax,%edi
403a64:	3b fb                	cmp    %ebx,%edi
403a66:	75 0f                	jne    0x403a77
403a68:	e8 df f3 ff ff       	call   0x402e4c
403a6d:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
403a73:	33 c0                	xor    %eax,%eax
403a75:	eb 51                	jmp    0x403ac8
403a77:	6a 0a                	push   $0xa
403a79:	e8 59 00 00 00       	call   0x403ad7
403a7e:	59                   	pop    %ecx
403a7f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403a82:	39 1e                	cmp    %ebx,(%esi)
403a84:	75 2c                	jne    0x403ab2
403a86:	68 a0 0f 00 00       	push   $0xfa0
403a8b:	57                   	push   %edi
403a8c:	e8 cb 06 00 00       	call   0x40415c
403a91:	59                   	pop    %ecx
403a92:	59                   	pop    %ecx
403a93:	85 c0                	test   %eax,%eax
403a95:	75 17                	jne    0x403aae
403a97:	57                   	push   %edi
403a98:	e8 06 13 00 00       	call   0x404da3
403a9d:	59                   	pop    %ecx
403a9e:	e8 a9 f3 ff ff       	call   0x402e4c
403aa3:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
403aa9:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
403aac:	eb 0b                	jmp    0x403ab9
403aae:	89 3e                	mov    %edi,(%esi)
403ab0:	eb 07                	jmp    0x403ab9
403ab2:	57                   	push   %edi
403ab3:	e8 eb 12 00 00       	call   0x404da3
403ab8:	59                   	pop    %ecx
403ab9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403ac0:	e8 09 00 00 00       	call   0x403ace
403ac5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403ac8:	e8 f8 f0 ff ff       	call   0x402bc5
403acd:	c3                   	ret
403ace:	6a 0a                	push   $0xa
403ad0:	e8 28 ff ff ff       	call   0x4039fd
403ad5:	59                   	pop    %ecx
403ad6:	c3                   	ret
403ad7:	8b ff                	mov    %edi,%edi
403ad9:	55                   	push   %ebp
403ada:	8b ec                	mov    %esp,%ebp
403adc:	8b 45 08             	mov    0x8(%ebp),%eax
403adf:	56                   	push   %esi
403ae0:	8d 34 c5 e0 f3 41 00 	lea    0x41f3e0(,%eax,8),%esi
403ae7:	83 3e 00             	cmpl   $0x0,(%esi)
403aea:	75 13                	jne    0x403aff
403aec:	50                   	push   %eax
403aed:	e8 22 ff ff ff       	call   0x403a14
403af2:	59                   	pop    %ecx
403af3:	85 c0                	test   %eax,%eax
403af5:	75 08                	jne    0x403aff
403af7:	6a 11                	push   $0x11
403af9:	e8 ff dc ff ff       	call   0x4017fd
403afe:	59                   	pop    %ecx
403aff:	ff 36                	push   (%esi)
403b01:	ff 15 e8 d0 41 00    	call   *0x41d0e8
403b07:	5e                   	pop    %esi
403b08:	5d                   	pop    %ebp
403b09:	c3                   	ret
403b0a:	8b ff                	mov    %edi,%edi
403b0c:	55                   	push   %ebp
403b0d:	8b ec                	mov    %esp,%ebp
403b0f:	8b 45 08             	mov    0x8(%ebp),%eax
403b12:	a3 88 0f 43 00       	mov    %eax,0x430f88
403b17:	5d                   	pop    %ebp
403b18:	c3                   	ret
403b19:	8b ff                	mov    %edi,%edi
403b1b:	55                   	push   %ebp
403b1c:	8b ec                	mov    %esp,%ebp
403b1e:	81 ec 28 03 00 00    	sub    $0x328,%esp
403b24:	a1 04 f0 41 00       	mov    0x41f004,%eax
403b29:	33 c5                	xor    %ebp,%eax
403b2b:	89 45 fc             	mov    %eax,-0x4(%ebp)
403b2e:	83 a5 d8 fc ff ff 00 	andl   $0x0,-0x328(%ebp)
403b35:	53                   	push   %ebx
403b36:	6a 4c                	push   $0x4c
403b38:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
403b3e:	6a 00                	push   $0x0
403b40:	50                   	push   %eax
403b41:	e8 fa 32 00 00       	call   0x406e40
403b46:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
403b4c:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
403b52:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
403b58:	83 c4 0c             	add    $0xc,%esp
403b5b:	89 85 2c fd ff ff    	mov    %eax,-0x2d4(%ebp)
403b61:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
403b67:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
403b6d:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
403b73:	89 9d d4 fd ff ff    	mov    %ebx,-0x22c(%ebp)
403b79:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
403b7f:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
403b85:	66 8c 95 f8 fd ff ff 	data16 mov %ss,-0x208(%ebp)
403b8c:	66 8c 8d ec fd ff ff 	data16 mov %cs,-0x214(%ebp)
403b93:	66 8c 9d c8 fd ff ff 	data16 mov %ds,-0x238(%ebp)
403b9a:	66 8c 85 c4 fd ff ff 	data16 mov %es,-0x23c(%ebp)
403ba1:	66 8c a5 c0 fd ff ff 	data16 mov %fs,-0x240(%ebp)
403ba8:	66 8c ad bc fd ff ff 	data16 mov %gs,-0x244(%ebp)
403baf:	9c                   	pushf
403bb0:	8f 85 f0 fd ff ff    	pop    -0x210(%ebp)
403bb6:	8b 45 04             	mov    0x4(%ebp),%eax
403bb9:	8d 4d 04             	lea    0x4(%ebp),%ecx
403bbc:	c7 85 30 fd ff ff 01 	movl   $0x10001,-0x2d0(%ebp)
403bc3:	00 01 00
403bc6:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
403bcc:	89 8d f4 fd ff ff    	mov    %ecx,-0x20c(%ebp)
403bd2:	8b 49 fc             	mov    -0x4(%ecx),%ecx
403bd5:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
403bdb:	c7 85 d8 fc ff ff 17 	movl   $0xc0000417,-0x328(%ebp)
403be2:	04 00 c0
403be5:	c7 85 dc fc ff ff 01 	movl   $0x1,-0x324(%ebp)
403bec:	00 00 00
403bef:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
403bf5:	ff 15 78 d0 41 00    	call   *0x41d078
403bfb:	6a 00                	push   $0x0
403bfd:	8b d8                	mov    %eax,%ebx
403bff:	ff 15 74 d0 41 00    	call   *0x41d074
403c05:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
403c0b:	50                   	push   %eax
403c0c:	ff 15 70 d0 41 00    	call   *0x41d070
403c12:	85 c0                	test   %eax,%eax
403c14:	75 0c                	jne    0x403c22
403c16:	85 db                	test   %ebx,%ebx
403c18:	75 08                	jne    0x403c22
403c1a:	6a 02                	push   $0x2
403c1c:	e8 e1 f1 ff ff       	call   0x402e02
403c21:	59                   	pop    %ecx
403c22:	68 17 04 00 c0       	push   $0xc0000417
403c27:	ff 15 6c d0 41 00    	call   *0x41d06c
403c2d:	50                   	push   %eax
403c2e:	ff 15 68 d0 41 00    	call   *0x41d068
403c34:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403c37:	33 cd                	xor    %ebp,%ecx
403c39:	5b                   	pop    %ebx
403c3a:	e8 c1 d3 ff ff       	call   0x401000
403c3f:	c9                   	leave
403c40:	c3                   	ret
403c41:	8b ff                	mov    %edi,%edi
403c43:	55                   	push   %ebp
403c44:	8b ec                	mov    %esp,%ebp
403c46:	ff 35 88 0f 43 00    	push   0x430f88
403c4c:	e8 dd e9 ff ff       	call   0x40262e
403c51:	59                   	pop    %ecx
403c52:	85 c0                	test   %eax,%eax
403c54:	74 03                	je     0x403c59
403c56:	5d                   	pop    %ebp
403c57:	ff e0                	jmp    *%eax
403c59:	6a 02                	push   $0x2
403c5b:	e8 a2 f1 ff ff       	call   0x402e02
403c60:	59                   	pop    %ecx
403c61:	5d                   	pop    %ebp
403c62:	e9 b2 fe ff ff       	jmp    0x403b19
403c67:	8b ff                	mov    %edi,%edi
403c69:	55                   	push   %ebp
403c6a:	8b ec                	mov    %esp,%ebp
403c6c:	51                   	push   %ecx
403c6d:	53                   	push   %ebx
403c6e:	56                   	push   %esi
403c6f:	57                   	push   %edi
403c70:	ff 35 a8 2e de 02    	push   0x2de2ea8
403c76:	e8 b3 e9 ff ff       	call   0x40262e
403c7b:	ff 35 a4 2e de 02    	push   0x2de2ea4
403c81:	8b f8                	mov    %eax,%edi
403c83:	89 7d fc             	mov    %edi,-0x4(%ebp)
403c86:	e8 a3 e9 ff ff       	call   0x40262e
403c8b:	8b f0                	mov    %eax,%esi
403c8d:	59                   	pop    %ecx
403c8e:	59                   	pop    %ecx
403c8f:	3b f7                	cmp    %edi,%esi
403c91:	0f 82 83 00 00 00    	jb     0x403d1a
403c97:	8b de                	mov    %esi,%ebx
403c99:	2b df                	sub    %edi,%ebx
403c9b:	8d 43 04             	lea    0x4(%ebx),%eax
403c9e:	83 f8 04             	cmp    $0x4,%eax
403ca1:	72 77                	jb     0x403d1a
403ca3:	57                   	push   %edi
403ca4:	e8 11 32 00 00       	call   0x406eba
403ca9:	8b f8                	mov    %eax,%edi
403cab:	8d 43 04             	lea    0x4(%ebx),%eax
403cae:	59                   	pop    %ecx
403caf:	3b f8                	cmp    %eax,%edi
403cb1:	73 48                	jae    0x403cfb
403cb3:	b8 00 08 00 00       	mov    $0x800,%eax
403cb8:	3b f8                	cmp    %eax,%edi
403cba:	73 02                	jae    0x403cbe
403cbc:	8b c7                	mov    %edi,%eax
403cbe:	03 c7                	add    %edi,%eax
403cc0:	3b c7                	cmp    %edi,%eax
403cc2:	72 0f                	jb     0x403cd3
403cc4:	50                   	push   %eax
403cc5:	ff 75 fc             	push   -0x4(%ebp)
403cc8:	e8 f5 11 00 00       	call   0x404ec2
403ccd:	59                   	pop    %ecx
403cce:	59                   	pop    %ecx
403ccf:	85 c0                	test   %eax,%eax
403cd1:	75 16                	jne    0x403ce9
403cd3:	8d 47 10             	lea    0x10(%edi),%eax
403cd6:	3b c7                	cmp    %edi,%eax
403cd8:	72 40                	jb     0x403d1a
403cda:	50                   	push   %eax
403cdb:	ff 75 fc             	push   -0x4(%ebp)
403cde:	e8 df 11 00 00       	call   0x404ec2
403ce3:	59                   	pop    %ecx
403ce4:	59                   	pop    %ecx
403ce5:	85 c0                	test   %eax,%eax
403ce7:	74 31                	je     0x403d1a
403ce9:	c1 fb 02             	sar    $0x2,%ebx
403cec:	50                   	push   %eax
403ced:	8d 34 98             	lea    (%eax,%ebx,4),%esi
403cf0:	e8 be e8 ff ff       	call   0x4025b3
403cf5:	59                   	pop    %ecx
403cf6:	a3 a8 2e de 02       	mov    %eax,0x2de2ea8
403cfb:	ff 75 08             	push   0x8(%ebp)
403cfe:	e8 b0 e8 ff ff       	call   0x4025b3
403d03:	89 06                	mov    %eax,(%esi)
403d05:	83 c6 04             	add    $0x4,%esi
403d08:	56                   	push   %esi
403d09:	e8 a5 e8 ff ff       	call   0x4025b3
403d0e:	59                   	pop    %ecx