40ac80:	e9 5a fb ff ff       	jmp    0x40a7df
40ac85:	8d 84 24 9c 02 00 00 	lea    0x29c(%esp),%eax
40ac8c:	50                   	push   %eax
40ac8d:	68 95 01 00 00       	push   $0x195
40ac92:	ff 35 0c 19 41 00    	push   0x41190c
40ac98:	ff 15 20 33 43 00    	call   *0x433320
40ac9e:	8d 84 24 98 02 00 00 	lea    0x298(%esp),%eax
40aca5:	bf 85 00 00 00       	mov    $0x85,%edi
40acaa:	50                   	push   %eax
40acab:	57                   	push   %edi
40acac:	53                   	push   %ebx
40acad:	ff 15 10 32 43 00    	call   *0x433210
40acb3:	56                   	push   %esi
40acb4:	57                   	push   %edi
40acb5:	53                   	push   %ebx
40acb6:	ff 15 14 33 43 00    	call   *0x433314
40acbc:	50                   	push   %eax
40acbd:	ff 15 14 32 43 00    	call   *0x433214
40acc3:	83 25 74 26 43 00 00 	andl   $0x0,0x432674
40acca:	89 35 78 26 43 00    	mov    %esi,0x432678
40acd0:	e9 8a 05 00 00       	jmp    0x40b25f
40acd5:	c1 ef 10             	shr    $0x10,%edi
40acd8:	66 83 ff 01          	cmp    $0x1,%di
40acdc:	0f 85 7d 05 00 00    	jne    0x40b25f
40ace2:	8b 0d 14 19 43 00    	mov    0x431914,%ecx
40ace8:	ba 70 1f 43 00       	mov    $0x431f70,%edx
40aced:	e8 81 2f 00 00       	call   0x40dc73
40acf2:	56                   	push   %esi
40acf3:	33 c0                	xor    %eax,%eax
40acf5:	53                   	push   %ebx
40acf6:	66 a3 c4 1f 43 00    	mov    %ax,0x431fc4
40acfc:	ff 15 14 33 43 00    	call   *0x433314
40ad02:	85 c0                	test   %eax,%eax
40ad04:	0f 84 55 05 00 00    	je     0x40b25f
40ad0a:	8b c8                	mov    %eax,%ecx
40ad0c:	e8 ca 90 ff ff       	call   0x403ddb
40ad11:	8b f8                	mov    %eax,%edi
40ad13:	85 ff                	test   %edi,%edi
40ad15:	0f 84 44 05 00 00    	je     0x40b25f
40ad1b:	33 f6                	xor    %esi,%esi
40ad1d:	33 d2                	xor    %edx,%edx
40ad1f:	56                   	push   %esi
40ad20:	8b cf                	mov    %edi,%ecx
40ad22:	e8 b6 c0 ff ff       	call   0x406ddd
40ad27:	85 c0                	test   %eax,%eax
40ad29:	0f 84 30 05 00 00    	je     0x40b25f
40ad2f:	51                   	push   %ecx
40ad30:	56                   	push   %esi
40ad31:	56                   	push   %esi
40ad32:	56                   	push   %esi
40ad33:	8b d0                	mov    %eax,%edx
40ad35:	33 c9                	xor    %ecx,%ecx
40ad37:	e8 90 91 ff ff       	call   0x403ecc
40ad3c:	a3 48 26 43 00       	mov    %eax,0x432648
40ad41:	85 c0                	test   %eax,%eax
40ad43:	0f 84 16 05 00 00    	je     0x40b25f
40ad49:	ff 35 44 26 43 00    	push   0x432644
40ad4f:	8b d0                	mov    %eax,%edx
40ad51:	8b cf                	mov    %edi,%ecx
40ad53:	e8 85 c0 ff ff       	call   0x406ddd
40ad58:	ff 35 48 26 43 00    	push   0x432648
40ad5e:	ff 15 a8 31 43 00    	call   *0x4331a8
40ad64:	56                   	push   %esi
40ad65:	48                   	dec    %eax
40ad66:	bf 11 01 00 00       	mov    $0x111,%edi
40ad6b:	68 69 00 01 00       	push   $0x10069
40ad70:	66 a3 38 13 41 00    	mov    %ax,0x411338
40ad76:	33 c0                	xor    %eax,%eax
40ad78:	57                   	push   %edi
40ad79:	53                   	push   %ebx
40ad7a:	66 a3 c4 1f 43 00    	mov    %ax,0x431fc4
40ad80:	ff 15 10 33 43 00    	call   *0x433310
40ad86:	33 d2                	xor    %edx,%edx
40ad88:	8b cb                	mov    %ebx,%ecx
40ad8a:	e8 fc 36 00 00       	call   0x40e48b
40ad8f:	39 35 74 26 43 00    	cmp    %esi,0x432674
40ad95:	75 0c                	jne    0x40ada3
40ad97:	39 35 78 26 43 00    	cmp    %esi,0x432678
40ad9d:	0f 84 bc 04 00 00    	je     0x40b25f
40ada3:	56                   	push   %esi
40ada4:	68 85 00 00 00       	push   $0x85
40ada9:	57                   	push   %edi
40adaa:	ff 35 10 19 43 00    	push   0x431910
40adb0:	ff 15 10 33 43 00    	call   *0x433310
40adb6:	e9 a4 04 00 00       	jmp    0x40b25f
40adbb:	6a 6f                	push   $0x6f
40adbd:	ff 35 0c 19 41 00    	push   0x41190c
40adc3:	ff 15 94 32 43 00    	call   *0x433294
40adc9:	50                   	push   %eax
40adca:	6a 01                	push   $0x1
40adcc:	68 80 00 00 00       	push   $0x80
40add1:	53                   	push   %ebx
40add2:	ff 15 10 33 43 00    	call   *0x433310
40add8:	56                   	push   %esi
40add9:	68 a0 9e 40 00       	push   $0x409ea0
40adde:	53                   	push   %ebx
40addf:	ff 15 98 32 43 00    	call   *0x433298
40ade5:	56                   	push   %esi
40ade6:	ff 35 0c 19 41 00    	push   0x41190c
40adec:	68 cc 00 00 00       	push   $0xcc
40adf1:	53                   	push   %ebx
40adf2:	56                   	push   %esi
40adf3:	56                   	push   %esi
40adf4:	56                   	push   %esi
40adf5:	56                   	push   %esi
40adf6:	68 01 00 00 50       	push   $0x50000001
40adfb:	56                   	push   %esi
40adfc:	68 10 15 40 00       	push   $0x401510
40ae01:	56                   	push   %esi
40ae02:	ff 15 e8 31 43 00    	call   *0x4331e8
40ae08:	8d 44 24 28          	lea    0x28(%esp),%eax
40ae0c:	50                   	push   %eax
40ae0d:	53                   	push   %ebx
40ae0e:	ff 15 f0 31 43 00    	call   *0x4331f0
40ae14:	8b 7c 24 30          	mov    0x30(%esp),%edi
40ae18:	b9 68 01 00 00       	mov    $0x168,%ecx
40ae1d:	8b c7                	mov    %edi,%eax
40ae1f:	c7 84 24 88 00 00 00 	movl   $0xa,0x88(%esp)
40ae26:	0a 00 00 00
40ae2a:	99                   	cltd
40ae2b:	f7 f9                	idiv   %ecx
40ae2d:	8b 4c 24 34          	mov    0x34(%esp),%ecx
40ae31:	6b f0 09             	imul   $0x9,%eax,%esi
40ae34:	8b c1                	mov    %ecx,%eax
40ae36:	99                   	cltd
40ae37:	f7 bc 24 88 00 00 00 	idivl  0x88(%esp)
40ae3e:	6a 00                	push   $0x0
40ae40:	ff 35 0c 19 41 00    	push   0x41190c
40ae46:	6b c0 03             	imul   $0x3,%eax,%eax
40ae49:	2b fe                	sub    %esi,%edi
40ae4b:	6a 6c                	push   $0x6c
40ae4d:	53                   	push   %ebx
40ae4e:	33 f6                	xor    %esi,%esi
40ae50:	2b c8                	sub    %eax,%ecx
40ae52:	51                   	push   %ecx
40ae53:	57                   	push   %edi
40ae54:	56                   	push   %esi
40ae55:	56                   	push   %esi
40ae56:	68 00 00 01 50       	push   $0x50010000
40ae5b:	56                   	push   %esi
40ae5c:	68 74 17 40 00       	push   $0x401774
40ae61:	56                   	push   %esi
40ae62:	ff 15 e8 31 43 00    	call   *0x4331e8
40ae68:	a3 14 19 43 00       	mov    %eax,0x431914
40ae6d:	85 c0                	test   %eax,%eax
40ae6f:	75 0c                	jne    0x40ae7d
40ae71:	53                   	push   %ebx
40ae72:	ff 15 00 33 43 00    	call   *0x433300
40ae78:	e9 e2 03 00 00       	jmp    0x40b25f
40ae7d:	8d 4c 24 78          	lea    0x78(%esp),%ecx
40ae81:	51                   	push   %ecx
40ae82:	50                   	push   %eax
40ae83:	ff 15 e0 31 43 00    	call   *0x4331e0
40ae89:	8b 84 24 80 00 00 00 	mov    0x80(%esp),%eax
40ae90:	89 44 24 20          	mov    %eax,0x20(%esp)
40ae94:	8b 44 24 7c          	mov    0x7c(%esp),%eax
40ae98:	89 44 24 24          	mov    %eax,0x24(%esp)
40ae9c:	8d 44 24 20          	lea    0x20(%esp),%eax
40aea0:	50                   	push   %eax
40aea1:	53                   	push   %ebx
40aea2:	ff 15 9c 32 43 00    	call   *0x43329c
40aea8:	8b cb                	mov    %ebx,%ecx
40aeaa:	e8 0c e8 ff ff       	call   0x4096bb
40aeaf:	8b cb                	mov    %ebx,%ecx
40aeb1:	e8 09 2e 00 00       	call   0x40dcbf
40aeb6:	a1 50 26 43 00       	mov    0x432650,%eax
40aebb:	8b ce                	mov    %esi,%ecx
40aebd:	89 8c 24 88 00 00 00 	mov    %ecx,0x88(%esp)
40aec4:	85 c0                	test   %eax,%eax
40aec6:	74 30                	je     0x40aef8
40aec8:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40aecc:	c7 44 24 10 04 00 00 	movl   $0x4,0x10(%esp)
40aed3:	00
40aed4:	51                   	push   %ecx
40aed5:	8d 8c 24 8c 00 00 00 	lea    0x8c(%esp),%ecx
40aedc:	51                   	push   %ecx
40aedd:	56                   	push   %esi
40aede:	56                   	push   %esi
40aedf:	68 f8 17 40 00       	push   $0x4017f8
40aee4:	50                   	push   %eax
40aee5:	ff 15 24 30 43 00    	call   *0x433024
40aeeb:	8b ce                	mov    %esi,%ecx
40aeed:	85 c0                	test   %eax,%eax
40aeef:	78 07                	js     0x40aef8
40aef1:	8b 8c 24 88 00 00 00 	mov    0x88(%esp),%ecx
40aef8:	33 c0                	xor    %eax,%eax
40aefa:	85 c9                	test   %ecx,%ecx
40aefc:	8b cb                	mov    %ebx,%ecx
40aefe:	0f 95 c0             	setne  %al
40af01:	a3 34 13 41 00       	mov    %eax,0x411334
40af06:	e8 0b 30 00 00       	call   0x40df16
40af0b:	8d 44 24 28          	lea    0x28(%esp),%eax
40af0f:	50                   	push   %eax
40af10:	53                   	push   %ebx
40af11:	ff 15 f0 31 43 00    	call   *0x4331f0
40af17:	6b 44 24 30 17       	imul   $0x17,0x30(%esp),%eax
40af1c:	8b cb                	mov    %ebx,%ecx
40af1e:	99                   	cltd
40af1f:	83 e2 1f             	and    $0x1f,%edx
40af22:	03 c2                	add    %edx,%eax
40af24:	c1 f8 05             	sar    $0x5,%eax
40af27:	a3 38 1f 43 00       	mov    %eax,0x431f38
40af2c:	e8 43 e7 ff ff       	call   0x409674
40af31:	33 ff                	xor    %edi,%edi
40af33:	47                   	inc    %edi
40af34:	57                   	push   %edi
40af35:	57                   	push   %edi
40af36:	6a 68                	push   $0x68
40af38:	53                   	push   %ebx
40af39:	ff 15 14 33 43 00    	call   *0x433314
40af3f:	50                   	push   %eax
40af40:	ff 15 a0 32 43 00    	call   *0x4332a0
40af46:	56                   	push   %esi
40af47:	6a 66                	push   $0x66
40af49:	53                   	push   %ebx
40af4a:	ff 15 14 33 43 00    	call   *0x433314
40af50:	50                   	push   %eax
40af51:	ff 15 14 32 43 00    	call   *0x433214
40af57:	56                   	push   %esi
40af58:	68 85 00 00 00       	push   $0x85
40af5d:	53                   	push   %ebx
40af5e:	ff 15 14 33 43 00    	call   *0x433314
40af64:	50                   	push   %eax
40af65:	ff 15 14 32 43 00    	call   *0x433214
40af6b:	8b cb                	mov    %ebx,%ecx
40af6d:	89 35 b0 16 41 00    	mov    %esi,0x4116b0
40af73:	89 35 48 26 43 00    	mov    %esi,0x432648
40af79:	e8 be 97 ff ff       	call   0x40473c
40af7e:	85 c0                	test   %eax,%eax
40af80:	74 29                	je     0x40afab
40af82:	6a 69                	push   $0x69
40af84:	53                   	push   %ebx
40af85:	ff 15 14 33 43 00    	call   *0x433314
40af8b:	85 c0                	test   %eax,%eax
40af8d:	74 07                	je     0x40af96
40af8f:	8b c8                	mov    %eax,%ecx
40af91:	e8 91 99 ff ff       	call   0x404927
40af96:	68 e8 10 41 00       	push   $0x4110e8
40af9b:	68 0c 18 40 00       	push   $0x40180c
40afa0:	51                   	push   %ecx
40afa1:	6a 69                	push   $0x69
40afa3:	5a                   	pop    %edx
40afa4:	8b cb                	mov    %ebx,%ecx
40afa6:	e8 67 4f 00 00       	call   0x40ff12
40afab:	39 35 ac 16 41 00    	cmp    %esi,0x4116ac
40afb1:	74 05                	je     0x40afb8
40afb3:	e8 fc 8b ff ff       	call   0x403bb4
40afb8:	b9 b0 04 00 00       	mov    $0x4b0,%ecx
40afbd:	89 35 ac 16 41 00    	mov    %esi,0x4116ac
40afc3:	89 35 a8 16 41 00    	mov    %esi,0x4116a8
40afc9:	e8 05 8c ff ff       	call   0x403bd3
40afce:	57                   	push   %edi
40afcf:	68 50 3b 40 00       	push   $0x403b50
40afd4:	ff 15 bc 31 43 00    	call   *0x4331bc
40afda:	68 82 00 00 00       	push   $0x82
40afdf:	53                   	push   %ebx
40afe0:	ff 15 14 33 43 00    	call   *0x433314
40afe6:	85 c0                	test   %eax,%eax
40afe8:	74 07                	je     0x40aff1
40afea:	8b c8                	mov    %eax,%ecx
40afec:	e8 15 8d ff ff       	call   0x403d06
40aff1:	68 f0 11 41 00       	push   $0x4111f0
40aff6:	68 18 18 40 00       	push   $0x401818
40affb:	51                   	push   %ecx
40affc:	ba 82 00 00 00       	mov    $0x82,%edx
40b001:	8b cb                	mov    %ebx,%ecx
40b003:	e8 0a 4f 00 00       	call   0x40ff12
40b008:	e8 5a bc ff ff       	call   0x406c67
40b00d:	e8 2e 4d 00 00       	call   0x40fd40
40b012:	85 c0                	test   %eax,%eax
40b014:	74 17                	je     0x40b02d
40b016:	68 ca 00 00 00       	push   $0xca
40b01b:	53                   	push   %ebx
40b01c:	ff 15 14 33 43 00    	call   *0x433314
40b022:	85 c0                	test   %eax,%eax
40b024:	74 07                	je     0x40b02d
40b026:	8b c8                	mov    %eax,%ecx
40b028:	e8 10 c5 ff ff       	call   0x40753d
40b02d:	33 c0                	xor    %eax,%eax
40b02f:	39 3d 34 13 41 00    	cmp    %edi,0x411334
40b035:	56                   	push   %esi
40b036:	0f 94 c0             	sete   %al
40b039:	50                   	push   %eax
40b03a:	68 f1 00 00 00       	push   $0xf1
40b03f:	6a 77                	push   $0x77
40b041:	53                   	push   %ebx
40b042:	ff 15 14 33 43 00    	call   *0x433314
40b048:	50                   	push   %eax
40b049:	ff 15 10 33 43 00    	call   *0x433310
40b04f:	68 00 00 08 00       	push   $0x80000
40b054:	56                   	push   %esi
40b055:	68 45 04 00 00       	push   $0x445
40b05a:	6a 68                	push   $0x68
40b05c:	53                   	push   %ebx
40b05d:	ff 15 14 33 43 00    	call   *0x433314
40b063:	50                   	push   %eax
40b064:	ff 15 10 33 43 00    	call   *0x433310
40b06a:	6a 24                	push   $0x24
40b06c:	56                   	push   %esi
40b06d:	68 78 04 00 00       	push   $0x478
40b072:	6a 68                	push   $0x68
40b074:	53                   	push   %ebx
40b075:	ff 15 14 33 43 00    	call   *0x433314
40b07b:	50                   	push   %eax
40b07c:	ff 15 10 33 43 00    	call   *0x433310
40b082:	33 d2                	xor    %edx,%edx
40b084:	8b cb                	mov    %ebx,%ecx
40b086:	e8 00 34 00 00       	call   0x40e48b
40b08b:	bf bd 02 00 00       	mov    $0x2bd,%edi
40b090:	57                   	push   %edi
40b091:	53                   	push   %ebx
40b092:	ff 15 14 33 43 00    	call   *0x433314
40b098:	68 e0 e7 40 00       	push   $0x40e7e0
40b09d:	6a fc                	push   $0xfffffffc
40b09f:	50                   	push   %eax
40b0a0:	ff 15 f8 32 43 00    	call   *0x4332f8
40b0a6:	50                   	push   %eax
40b0a7:	ff 15 7c 31 43 00    	call   *0x43317c
40b0ad:	56                   	push   %esi
40b0ae:	6a 04                	push   $0x4
40b0b0:	68 c5 00 00 00       	push   $0xc5
40b0b5:	57                   	push   %edi
40b0b6:	53                   	push   %ebx
40b0b7:	a3 3c 26 43 00       	mov    %eax,0x43263c
40b0bc:	ff 15 14 33 43 00    	call   *0x433314
40b0c2:	50                   	push   %eax
40b0c3:	ff 15 10 33 43 00    	call   *0x433310
40b0c9:	68 84 00 00 00       	push   $0x84
40b0ce:	53                   	push   %ebx
40b0cf:	ff 15 14 33 43 00    	call   *0x433314
40b0d5:	68 a0 ed 40 00       	push   $0x40eda0
40b0da:	6a fc                	push   $0xfffffffc
40b0dc:	50                   	push   %eax
40b0dd:	ff 15 f8 32 43 00    	call   *0x4332f8
40b0e3:	50                   	push   %eax
40b0e4:	ff 15 7c 31 43 00    	call   *0x43317c
40b0ea:	6a 08                	push   $0x8
40b0ec:	a3 38 26 43 00       	mov    %eax,0x432638
40b0f1:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
40b0f8:	50                   	push   %eax
40b0f9:	68 04 10 00 00       	push   $0x1004
40b0fe:	56                   	push   %esi
40b0ff:	ff 15 a4 32 43 00    	call   *0x4332a4
40b105:	0f b7 c0             	movzwl %ax,%eax
40b108:	50                   	push   %eax
40b109:	ff 15 38 31 43 00    	call   *0x433138
40b10f:	85 c0                	test   %eax,%eax
40b111:	74 14                	je     0x40b127
40b113:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
40b11a:	50                   	push   %eax