40b94f:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b952:	50                   	push   %eax
40b953:	57                   	push   %edi
40b954:	57                   	push   %edi
40b955:	53                   	push   %ebx
40b956:	ff 15 2c 20 41 00    	call   *0x41202c
40b95c:	85 c0                	test   %eax,%eax
40b95e:	75 0b                	jne    0x40b96b
40b960:	ff 15 0c 22 41 00    	call   *0x41220c
40b966:	83 f8 7a             	cmp    $0x7a,%eax
40b969:	75 20                	jne    0x40b98b
40b96b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b96e:	e8 14 a1 ff ff       	call   0x405a87
40b973:	8b f8                	mov    %eax,%edi
40b975:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b978:	50                   	push   %eax
40b979:	ff 75 fc             	push   -0x4(%ebp)
40b97c:	89 7d 08             	mov    %edi,0x8(%ebp)
40b97f:	57                   	push   %edi
40b980:	53                   	push   %ebx
40b981:	ff 15 2c 20 41 00    	call   *0x41202c
40b987:	85 c0                	test   %eax,%eax
40b989:	75 10                	jne    0x40b99b
40b98b:	56                   	push   %esi
40b98c:	8b 35 44 20 41 00    	mov    0x412044,%esi
40b992:	ff d6                	call   *%esi
40b994:	53                   	push   %ebx
40b995:	ff d6                	call   *%esi
40b997:	33 c0                	xor    %eax,%eax
40b999:	eb 1a                	jmp    0x40b9b5
40b99b:	8b 7f 04             	mov    0x4(%edi),%edi
40b99e:	56                   	push   %esi
40b99f:	8b 35 44 20 41 00    	mov    0x412044,%esi
40b9a5:	ff d6                	call   *%esi
40b9a7:	53                   	push   %ebx
40b9a8:	ff d6                	call   *%esi
40b9aa:	ff 75 08             	push   0x8(%ebp)
40b9ad:	e8 0f 57 ff ff       	call   0x4010c1
40b9b2:	59                   	pop    %ecx
40b9b3:	8b c7                	mov    %edi,%eax
40b9b5:	5b                   	pop    %ebx
40b9b6:	5f                   	pop    %edi
40b9b7:	5e                   	pop    %esi
40b9b8:	c9                   	leave
40b9b9:	c2 04 00             	ret    $0x4
40b9bc:	55                   	push   %ebp
40b9bd:	8b ec                	mov    %esp,%ebp
40b9bf:	83 ec 50             	sub    $0x50,%esp
40b9c2:	53                   	push   %ebx
40b9c3:	56                   	push   %esi
40b9c4:	57                   	push   %edi
40b9c5:	33 db                	xor    %ebx,%ebx
40b9c7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40b9ca:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40b9cd:	68 20 38 41 00       	push   $0x413820
40b9d2:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40b9d5:	e8 38 7a ff ff       	call   0x403412
40b9da:	68 88 38 41 00       	push   $0x413888
40b9df:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40b9e2:	e8 2b 7a ff ff       	call   0x403412
40b9e7:	68 08 39 41 00       	push   $0x413908
40b9ec:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40b9ef:	e8 1e 7a ff ff       	call   0x403412
40b9f4:	68 78 39 41 00       	push   $0x413978
40b9f9:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40b9fc:	e8 11 7a ff ff       	call   0x403412
40ba01:	68 e8 39 41 00       	push   $0x4139e8
40ba06:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ba09:	e8 04 7a ff ff       	call   0x403412
40ba0e:	68 78 3a 41 00       	push   $0x413a78
40ba13:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ba16:	e8 f7 79 ff ff       	call   0x403412
40ba1b:	6a 01                	push   $0x1
40ba1d:	68 06 01 02 00       	push   $0x20106
40ba22:	8d 45 d0             	lea    -0x30(%ebp),%eax
40ba25:	50                   	push   %eax
40ba26:	68 02 00 00 80       	push   $0x80000002
40ba2b:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ba2e:	e8 cb 35 00 00       	call   0x40effe
40ba33:	85 c0                	test   %eax,%eax
40ba35:	0f 84 bb 02 00 00    	je     0x40bcf6
40ba3b:	6a 04                	push   $0x4
40ba3d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40ba40:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40ba43:	50                   	push   %eax
40ba44:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40ba47:	89 5d c0             	mov    %ebx,-0x40(%ebp)
40ba4a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40ba4d:	e8 6f 73 ff ff       	call   0x402dc1
40ba52:	6a 04                	push   $0x4
40ba54:	8d 45 bc             	lea    -0x44(%ebp),%eax
40ba57:	50                   	push   %eax
40ba58:	68 00 3b 41 00       	push   $0x413b00
40ba5d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40ba60:	e8 ad 79 ff ff       	call   0x403412
40ba65:	50                   	push   %eax
40ba66:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ba69:	e8 5d 35 00 00       	call   0x40efcb
40ba6e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40ba71:	8b f0                	mov    %eax,%esi
40ba73:	e8 b5 9f ff ff       	call   0x405a2d
40ba78:	85 f6                	test   %esi,%esi
40ba7a:	75 0d                	jne    0x40ba89
40ba7c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ba7f:	e8 c8 34 00 00       	call   0x40ef4c
40ba84:	e9 65 02 00 00       	jmp    0x40bcee
40ba89:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40ba8c:	e8 62 73 ff ff       	call   0x402df3
40ba91:	33 ff                	xor    %edi,%edi
40ba93:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40ba96:	6a 04                	push   $0x4
40ba98:	47                   	inc    %edi
40ba99:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40ba9c:	50                   	push   %eax
40ba9d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40baa0:	e8 1c 73 ff ff       	call   0x402dc1
40baa5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40baa8:	e8 9f 34 00 00       	call   0x40ef4c
40baad:	57                   	push   %edi
40baae:	68 06 01 02 00       	push   $0x20106
40bab3:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40bab6:	50                   	push   %eax
40bab7:	68 02 00 00 80       	push   $0x80000002
40babc:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40babf:	e8 3a 35 00 00       	call   0x40effe
40bac4:	85 c0                	test   %eax,%eax
40bac6:	0f 84 22 02 00 00    	je     0x40bcee
40bacc:	6a 04                	push   $0x4
40bace:	8d 45 bc             	lea    -0x44(%ebp),%eax
40bad1:	50                   	push   %eax
40bad2:	68 28 3b 41 00       	push   $0x413b28
40bad7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bada:	e8 33 79 ff ff       	call   0x403412
40badf:	50                   	push   %eax
40bae0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bae3:	e8 e3 34 00 00       	call   0x40efcb
40bae8:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40baeb:	8b f0                	mov    %eax,%esi
40baed:	e8 3b 9f ff ff       	call   0x405a2d
40baf2:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40baf5:	e8 52 34 00 00       	call   0x40ef4c
40bafa:	85 f6                	test   %esi,%esi
40bafc:	0f 84 ec 01 00 00    	je     0x40bcee
40bb02:	57                   	push   %edi
40bb03:	68 06 01 02 00       	push   $0x20106
40bb08:	8d 45 d8             	lea    -0x28(%ebp),%eax
40bb0b:	50                   	push   %eax
40bb0c:	68 02 00 00 80       	push   $0x80000002
40bb11:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb14:	e8 e5 34 00 00       	call   0x40effe
40bb19:	85 c0                	test   %eax,%eax
40bb1b:	0f 84 cd 01 00 00    	je     0x40bcee
40bb21:	6a 04                	push   $0x4
40bb23:	8d 45 bc             	lea    -0x44(%ebp),%eax
40bb26:	50                   	push   %eax
40bb27:	68 5c 3b 41 00       	push   $0x413b5c
40bb2c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bb2f:	e8 de 78 ff ff       	call   0x403412
40bb34:	50                   	push   %eax
40bb35:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb38:	e8 8e 34 00 00       	call   0x40efcb
40bb3d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40bb40:	8b f0                	mov    %eax,%esi
40bb42:	e8 e6 9e ff ff       	call   0x405a2d
40bb47:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb4a:	e8 fd 33 00 00       	call   0x40ef4c
40bb4f:	85 f6                	test   %esi,%esi
40bb51:	0f 84 97 01 00 00    	je     0x40bcee
40bb57:	be 02 00 00 80       	mov    $0x80000002,%esi
40bb5c:	8d 55 ec             	lea    -0x14(%ebp),%edx
40bb5f:	8b ce                	mov    %esi,%ecx
40bb61:	e8 bb 1b 00 00       	call   0x40d721
40bb66:	85 c0                	test   %eax,%eax
40bb68:	0f 85 7d 01 00 00    	jne    0x40bceb
40bb6e:	57                   	push   %edi
40bb6f:	68 06 01 02 00       	push   $0x20106
40bb74:	8d 45 ec             	lea    -0x14(%ebp),%eax
40bb77:	50                   	push   %eax
40bb78:	56                   	push   %esi
40bb79:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb7c:	e8 7d 34 00 00       	call   0x40effe
40bb81:	85 c0                	test   %eax,%eax
40bb83:	0f 84 65 01 00 00    	je     0x40bcee
40bb89:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb8c:	e8 bb 33 00 00       	call   0x40ef4c
40bb91:	57                   	push   %edi
40bb92:	68 06 01 02 00       	push   $0x20106
40bb97:	8d 45 dc             	lea    -0x24(%ebp),%eax
40bb9a:	50                   	push   %eax
40bb9b:	56                   	push   %esi
40bb9c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb9f:	e8 5a 34 00 00       	call   0x40effe
40bba4:	85 c0                	test   %eax,%eax
40bba6:	0f 84 42 01 00 00    	je     0x40bcee
40bbac:	6a 04                	push   $0x4
40bbae:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40bbb1:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40bbb4:	50                   	push   %eax
40bbb5:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bbb8:	89 5d c8             	mov    %ebx,-0x38(%ebp)
40bbbb:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
40bbc2:	e8 fa 71 ff ff       	call   0x402dc1
40bbc7:	6a 07                	push   $0x7
40bbc9:	58                   	pop    %eax
40bbca:	89 45 f0             	mov    %eax,-0x10(%ebp)
40bbcd:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40bbd0:	57                   	push   %edi
40bbd1:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40bbd4:	50                   	push   %eax
40bbd5:	68 8c 3b 41 00       	push   $0x413b8c
40bbda:	e8 33 78 ff ff       	call   0x403412
40bbdf:	8b c8                	mov    %eax,%ecx
40bbe1:	e8 68 74 ff ff       	call   0x40304e
40bbe6:	50                   	push   %eax
40bbe7:	68 9c 3b 41 00       	push   $0x413b9c
40bbec:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bbef:	e8 1e 78 ff ff       	call   0x403412
40bbf4:	50                   	push   %eax
40bbf5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bbf8:	e8 ce 33 00 00       	call   0x40efcb
40bbfd:	bf a8 3b 41 00       	mov    $0x413ba8,%edi
40bc02:	85 c0                	test   %eax,%eax
40bc04:	74 25                	je     0x40bc2b
40bc06:	6a 0f                	push   $0xf
40bc08:	58                   	pop    %eax
40bc09:	89 45 f0             	mov    %eax,-0x10(%ebp)
40bc0c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40bc0f:	6a 04                	push   $0x4
40bc11:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40bc14:	50                   	push   %eax
40bc15:	57                   	push   %edi
40bc16:	e8 f7 77 ff ff       	call   0x403412
40bc1b:	50                   	push   %eax
40bc1c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bc1f:	e8 a7 33 00 00       	call   0x40efcb
40bc24:	88 5d fb             	mov    %bl,-0x5(%ebp)
40bc27:	85 c0                	test   %eax,%eax
40bc29:	75 04                	jne    0x40bc2f
40bc2b:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
40bc2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40bc32:	a8 08                	test   $0x8,%al
40bc34:	74 0b                	je     0x40bc41
40bc36:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40bc39:	e8 ef 9d ff ff       	call   0x405a2d
40bc3e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40bc41:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40bc44:	e8 e4 9d ff ff       	call   0x405a2d
40bc49:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40bc4c:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40bc4f:	e8 12 72 ff ff       	call   0x402e66
40bc54:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40bc57:	e8 d1 9d ff ff       	call   0x405a2d
40bc5c:	38 5d fb             	cmp    %bl,-0x5(%ebp)
40bc5f:	75 23                	jne    0x40bc84
40bc61:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bc64:	e8 e3 32 00 00       	call   0x40ef4c
40bc69:	6a 01                	push   $0x1
40bc6b:	68 06 01 02 00       	push   $0x20106
40bc70:	8d 45 e0             	lea    -0x20(%ebp),%eax
40bc73:	50                   	push   %eax
40bc74:	56                   	push   %esi
40bc75:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bc78:	e8 81 33 00 00       	call   0x40effe
40bc7d:	85 c0                	test   %eax,%eax
40bc7f:	75 0d                	jne    0x40bc8e
40bc81:	33 db                	xor    %ebx,%ebx
40bc83:	43                   	inc    %ebx
40bc84:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bc87:	e8 c0 32 00 00       	call   0x40ef4c
40bc8c:	eb 4b                	jmp    0x40bcd9
40bc8e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bc91:	e8 5d 71 ff ff       	call   0x402df3
40bc96:	6a 04                	push   $0x4
40bc98:	8d 45 cc             	lea    -0x34(%ebp),%eax
40bc9b:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
40bca2:	50                   	push   %eax
40bca3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bca6:	e8 16 71 ff ff       	call   0x402dc1
40bcab:	6a 04                	push   $0x4
40bcad:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40bcb0:	50                   	push   %eax
40bcb1:	57                   	push   %edi
40bcb2:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40bcb5:	e8 58 77 ff ff       	call   0x403412
40bcba:	50                   	push   %eax
40bcbb:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bcbe:	e8 08 33 00 00       	call   0x40efcb
40bcc3:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40bcc6:	8b f0                	mov    %eax,%esi
40bcc8:	e8 60 9d ff ff       	call   0x405a2d
40bccd:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bcd0:	e8 77 32 00 00       	call   0x40ef4c
40bcd5:	85 f6                	test   %esi,%esi
40bcd7:	75 0a                	jne    0x40bce3
40bcd9:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bcdc:	e8 85 71 ff ff       	call   0x402e66
40bce1:	eb 0b                	jmp    0x40bcee
40bce3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bce6:	e8 7b 71 ff ff       	call   0x402e66
40bceb:	33 db                	xor    %ebx,%ebx
40bced:	43                   	inc    %ebx
40bcee:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40bcf1:	e8 70 71 ff ff       	call   0x402e66
40bcf6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40bcf9:	e8 2f 9d ff ff       	call   0x405a2d
40bcfe:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40bd01:	e8 27 9d ff ff       	call   0x405a2d
40bd06:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bd09:	e8 1f 9d ff ff       	call   0x405a2d
40bd0e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40bd11:	e8 17 9d ff ff       	call   0x405a2d
40bd16:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40bd19:	e8 0f 9d ff ff       	call   0x405a2d
40bd1e:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40bd21:	e8 07 9d ff ff       	call   0x405a2d
40bd26:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bd29:	e8 1e 32 00 00       	call   0x40ef4c
40bd2e:	5f                   	pop    %edi
40bd2f:	5e                   	pop    %esi
40bd30:	8b c3                	mov    %ebx,%eax
40bd32:	5b                   	pop    %ebx
40bd33:	c9                   	leave
40bd34:	c2 04 00             	ret    $0x4
40bd37:	55                   	push   %ebp
40bd38:	8b ec                	mov    %esp,%ebp
40bd3a:	83 ec 24             	sub    $0x24,%esp
40bd3d:	56                   	push   %esi
40bd3e:	57                   	push   %edi
40bd3f:	8b f1                	mov    %ecx,%esi
40bd41:	33 ff                	xor    %edi,%edi
40bd43:	68 98 36 41 00       	push   $0x413698
40bd48:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40bd4b:	89 7d f8             	mov    %edi,-0x8(%ebp)
40bd4e:	e8 bf 76 ff ff       	call   0x403412
40bd53:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bd56:	89 7d e8             	mov    %edi,-0x18(%ebp)
40bd59:	50                   	push   %eax
40bd5a:	68 02 01 00 00       	push   $0x102
40bd5f:	57                   	push   %edi
40bd60:	ff 75 f0             	push   -0x10(%ebp)
40bd63:	89 7d ec             	mov    %edi,-0x14(%ebp)
40bd66:	68 02 00 00 80       	push   $0x80000002
40bd6b:	ff 15 14 20 41 00    	call   *0x412014
40bd71:	85 c0                	test   %eax,%eax
40bd73:	75 47                	jne    0x40bdbc
40bd75:	6a 02                	push   $0x2
40bd77:	8d 45 e0             	lea    -0x20(%ebp),%eax
40bd7a:	50                   	push   %eax
40bd7b:	8d 4e 34             	lea    0x34(%esi),%ecx
40bd7e:	e8 cb 72 ff ff       	call   0x40304e