40fd2b:	ff 75 f0             	push   -0x10(%ebp)
40fd2e:	e8 94 34 03 00       	call   0x4431c7
40fd33:	8b f0                	mov    %eax,%esi
40fd35:	3b f3                	cmp    %ebx,%esi
40fd37:	74 0b                	je     0x40fd44
40fd39:	85 f6                	test   %esi,%esi
40fd3b:	79 07                	jns    0x40fd44
40fd3d:	68 20 14 45 00       	push   $0x451420
40fd42:	eb 53                	jmp    0x40fd97
40fd44:	8d 87 ac 00 00 00    	lea    0xac(%edi),%eax
40fd4a:	50                   	push   %eax
40fd4b:	68 40 14 45 00       	push   $0x451440
40fd50:	ff 75 f0             	push   -0x10(%ebp)
40fd53:	e8 6f 34 03 00       	call   0x4431c7
40fd58:	8b f0                	mov    %eax,%esi
40fd5a:	85 f6                	test   %esi,%esi
40fd5c:	79 07                	jns    0x40fd65
40fd5e:	68 4c 14 45 00       	push   $0x45144c
40fd63:	eb 32                	jmp    0x40fd97
40fd65:	8d 87 b0 00 00 00    	lea    0xb0(%edi),%eax
40fd6b:	50                   	push   %eax
40fd6c:	68 64 14 45 00       	push   $0x451464
40fd71:	ff 75 f0             	push   -0x10(%ebp)
40fd74:	e8 4e 34 03 00       	call   0x4431c7
40fd79:	8b f0                	mov    %eax,%esi
40fd7b:	85 f6                	test   %esi,%esi
40fd7d:	79 07                	jns    0x40fd86
40fd7f:	68 84 14 45 00       	push   $0x451484
40fd84:	eb 11                	jmp    0x40fd97
40fd86:	57                   	push   %edi
40fd87:	e8 59 f2 ff ff       	call   0x40efe5
40fd8c:	8b f0                	mov    %eax,%esi
40fd8e:	85 f6                	test   %esi,%esi
40fd90:	79 0d                	jns    0x40fd9f
40fd92:	68 a4 14 45 00       	push   $0x4514a4
40fd97:	56                   	push   %esi
40fd98:	e8 92 03 03 00       	call   0x44012f
40fd9d:	59                   	pop    %ecx
40fd9e:	59                   	pop    %ecx
40fd9f:	5f                   	pop    %edi
40fda0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fda3:	85 c9                	test   %ecx,%ecx
40fda5:	74 06                	je     0x40fdad
40fda7:	8b 01                	mov    (%ecx),%eax
40fda9:	51                   	push   %ecx
40fdaa:	ff 50 08             	call   *0x8(%eax)
40fdad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fdb0:	85 c9                	test   %ecx,%ecx
40fdb2:	74 06                	je     0x40fdba
40fdb4:	8b 01                	mov    (%ecx),%eax
40fdb6:	51                   	push   %ecx
40fdb7:	ff 50 08             	call   *0x8(%eax)
40fdba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40fdbd:	85 c9                	test   %ecx,%ecx
40fdbf:	74 06                	je     0x40fdc7
40fdc1:	8b 01                	mov    (%ecx),%eax
40fdc3:	51                   	push   %ecx
40fdc4:	ff 50 08             	call   *0x8(%eax)
40fdc7:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40fdcb:	74 08                	je     0x40fdd5
40fdcd:	ff 75 f4             	push   -0xc(%ebp)
40fdd0:	e8 1a 57 03 00       	call   0x4454ef
40fdd5:	8b c6                	mov    %esi,%eax
40fdd7:	5e                   	pop    %esi
40fdd8:	5b                   	pop    %ebx
40fdd9:	8b e5                	mov    %ebp,%esp
40fddb:	5d                   	pop    %ebp
40fddc:	c2 08 00             	ret    $0x8
40fddf:	55                   	push   %ebp
40fde0:	8b ec                	mov    %esp,%ebp
40fde2:	56                   	push   %esi
40fde3:	57                   	push   %edi
40fde4:	8b 7d 08             	mov    0x8(%ebp),%edi
40fde7:	6a 00                	push   $0x0
40fde9:	ff 75 10             	push   0x10(%ebp)
40fdec:	ff 75 0c             	push   0xc(%ebp)
40fdef:	68 80 00 00 00       	push   $0x80
40fdf4:	ff 77 5c             	push   0x5c(%edi)
40fdf7:	e8 6b 4e 03 00       	call   0x444c67
40fdfc:	8b f0                	mov    %eax,%esi
40fdfe:	33 c0                	xor    %eax,%eax
40fe00:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
40fe06:	0f 44 f0             	cmove  %eax,%esi
40fe09:	85 f6                	test   %esi,%esi
40fe0b:	79 11                	jns    0x40fe1e
40fe0d:	ff 77 5c             	push   0x5c(%edi)
40fe10:	68 00 19 45 00       	push   $0x451900
40fe15:	56                   	push   %esi
40fe16:	e8 14 03 03 00       	call   0x44012f
40fe1b:	83 c4 0c             	add    $0xc,%esp
40fe1e:	5f                   	pop    %edi
40fe1f:	8b c6                	mov    %esi,%eax
40fe21:	5e                   	pop    %esi
40fe22:	5d                   	pop    %ebp
40fe23:	c2 0c 00             	ret    $0xc
40fe26:	55                   	push   %ebp
40fe27:	8b ec                	mov    %esp,%ebp
40fe29:	83 ec 14             	sub    $0x14,%esp
40fe2c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40fe30:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40fe34:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40fe38:	56                   	push   %esi
40fe39:	57                   	push   %edi
40fe3a:	8b 7d 0c             	mov    0xc(%ebp),%edi
40fe3d:	ff 77 08             	push   0x8(%edi)
40fe40:	e8 eb 3d 00 00       	call   0x413c30
40fe45:	50                   	push   %eax
40fe46:	ff 75 18             	push   0x18(%ebp)
40fe49:	ff 77 50             	push   0x50(%edi)
40fe4c:	68 72 01 00 20       	push   $0x20000172
40fe51:	6a 03                	push   $0x3
40fe53:	e8 b7 56 ff ff       	call   0x40550f
40fe58:	83 c4 14             	add    $0x14,%esp
40fe5b:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
40fe5f:	74 33                	je     0x40fe94
40fe61:	ff 75 08             	push   0x8(%ebp)
40fe64:	8b 45 14             	mov    0x14(%ebp),%eax
40fe67:	83 c0 04             	add    $0x4,%eax
40fe6a:	50                   	push   %eax
40fe6b:	ff 77 10             	push   0x10(%edi)
40fe6e:	ff 77 48             	push   0x48(%edi)
40fe71:	ff 37                	push   (%edi)
40fe73:	e8 5a 9c 00 00       	call   0x419ad2
40fe78:	8b f0                	mov    %eax,%esi
40fe7a:	85 f6                	test   %esi,%esi
40fe7c:	79 16                	jns    0x40fe94
40fe7e:	ff 75 08             	push   0x8(%ebp)
40fe81:	68 f8 16 45 00       	push   $0x4516f8
40fe86:	56                   	push   %esi
40fe87:	e8 a3 02 03 00       	call   0x44012f
40fe8c:	83 c4 0c             	add    $0xc,%esp
40fe8f:	e9 50 05 00 00       	jmp    0x4103e4
40fe94:	8d 45 fc             	lea    -0x4(%ebp),%eax
40fe97:	50                   	push   %eax
40fe98:	68 06 00 02 00       	push   $0x20006
40fe9d:	ff 77 50             	push   0x50(%edi)
40fea0:	ff 77 4c             	push   0x4c(%edi)
40fea3:	e8 e0 0b 03 00       	call   0x440a88
40fea8:	8b f0                	mov    %eax,%esi
40feaa:	85 f6                	test   %esi,%esi
40feac:	79 12                	jns    0x40fec0
40feae:	68 20 17 45 00       	push   $0x451720
40feb3:	56                   	push   %esi
40feb4:	e8 76 02 03 00       	call   0x44012f
40feb9:	59                   	pop    %ecx
40feba:	59                   	pop    %ecx
40febb:	e9 24 05 00 00       	jmp    0x4103e4
40fec0:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
40fec4:	53                   	push   %ebx
40fec5:	0f 84 8d 04 00 00    	je     0x410358
40fecb:	ff 77 54             	push   0x54(%edi)
40fece:	bb e0 0a 45 00       	mov    $0x450ae0,%ebx
40fed3:	53                   	push   %ebx
40fed4:	ff 75 fc             	push   -0x4(%ebp)
40fed7:	e8 b6 14 03 00       	call   0x441392
40fedc:	8b f0                	mov    %eax,%esi
40fede:	85 f6                	test   %esi,%esi
40fee0:	0f 88 b3 04 00 00    	js     0x410399
40fee6:	ff 77 24             	push   0x24(%edi)
40fee9:	bb 64 0b 45 00       	mov    $0x450b64,%ebx
40feee:	ff 77 20             	push   0x20(%edi)
40fef1:	53                   	push   %ebx
40fef2:	ff 75 fc             	push   -0x4(%ebp)
40fef5:	e8 42 15 03 00       	call   0x44143c
40fefa:	8b f0                	mov    %eax,%esi
40fefc:	85 f6                	test   %esi,%esi
40fefe:	0f 88 95 04 00 00    	js     0x410399
40ff04:	ff 77 2c             	push   0x2c(%edi)
40ff07:	bb 00 0b 45 00       	mov    $0x450b00,%ebx
40ff0c:	ff 77 28             	push   0x28(%edi)
40ff0f:	53                   	push   %ebx
40ff10:	ff 75 fc             	push   -0x4(%ebp)
40ff13:	e8 24 15 03 00       	call   0x44143c
40ff18:	8b f0                	mov    %eax,%esi
40ff1a:	85 f6                	test   %esi,%esi
40ff1c:	0f 88 77 04 00 00    	js     0x410399
40ff22:	ff 77 1c             	push   0x1c(%edi)
40ff25:	bb 20 0b 45 00       	mov    $0x450b20,%ebx
40ff2a:	ff 77 18             	push   0x18(%edi)
40ff2d:	53                   	push   %ebx
40ff2e:	ff 75 fc             	push   -0x4(%ebp)
40ff31:	e8 06 15 03 00       	call   0x44143c
40ff36:	8b f0                	mov    %eax,%esi
40ff38:	85 f6                	test   %esi,%esi
40ff3a:	0f 88 59 04 00 00    	js     0x410399
40ff40:	ff 77 34             	push   0x34(%edi)
40ff43:	bb 44 0b 45 00       	mov    $0x450b44,%ebx
40ff48:	ff 77 30             	push   0x30(%edi)
40ff4b:	53                   	push   %ebx
40ff4c:	ff 75 fc             	push   -0x4(%ebp)
40ff4f:	e8 e8 14 03 00       	call   0x44143c
40ff54:	8b f0                	mov    %eax,%esi
40ff56:	85 f6                	test   %esi,%esi
40ff58:	0f 88 3b 04 00 00    	js     0x410399
40ff5e:	8b 4f 38             	mov    0x38(%edi),%ecx
40ff61:	bb a0 0b 45 00       	mov    $0x450ba0,%ebx
40ff66:	8b 57 3c             	mov    0x3c(%edi),%edx
40ff69:	0f b7 c1             	movzwl %cx,%eax
40ff6c:	50                   	push   %eax
40ff6d:	8b c2                	mov    %edx,%eax
40ff6f:	89 55 f0             	mov    %edx,-0x10(%ebp)
40ff72:	0f ac c1 10          	shrd   $0x10,%eax,%ecx
40ff76:	c1 e8 10             	shr    $0x10,%eax
40ff79:	0f b7 c1             	movzwl %cx,%eax
40ff7c:	50                   	push   %eax
40ff7d:	0f b7 c2             	movzwl %dx,%eax
40ff80:	50                   	push   %eax
40ff81:	c1 ea 10             	shr    $0x10,%edx
40ff84:	52                   	push   %edx
40ff85:	68 60 17 45 00       	push   $0x451760
40ff8a:	53                   	push   %ebx
40ff8b:	ff 75 fc             	push   -0x4(%ebp)
40ff8e:	e8 f4 15 03 00       	call   0x441587
40ff93:	8b f0                	mov    %eax,%esi
40ff95:	83 c4 1c             	add    $0x1c,%esp
40ff98:	85 f6                	test   %esi,%esi
40ff9a:	0f 88 f9 03 00 00    	js     0x410399
40ffa0:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
40ffa4:	74 1b                	je     0x40ffc1
40ffa6:	ff 77 44             	push   0x44(%edi)
40ffa9:	bb d8 0b 45 00       	mov    $0x450bd8,%ebx
40ffae:	53                   	push   %ebx
40ffaf:	ff 75 fc             	push   -0x4(%ebp)
40ffb2:	e8 db 13 03 00       	call   0x441392
40ffb7:	8b f0                	mov    %eax,%esi
40ffb9:	85 f6                	test   %esi,%esi
40ffbb:	0f 88 d8 03 00 00    	js     0x410399
40ffc1:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
40ffc5:	74 1b                	je     0x40ffe2
40ffc7:	ff 77 14             	push   0x14(%edi)
40ffca:	bb fc 0b 45 00       	mov    $0x450bfc,%ebx
40ffcf:	53                   	push   %ebx
40ffd0:	ff 75 fc             	push   -0x4(%ebp)
40ffd3:	e8 ba 13 03 00       	call   0x441392
40ffd8:	8b f0                	mov    %eax,%esi
40ffda:	85 f6                	test   %esi,%esi
40ffdc:	0f 88 b7 03 00 00    	js     0x410399
40ffe2:	68 f8 b9 44 00       	push   $0x44b9f8
40ffe7:	68 80 17 45 00       	push   $0x451780
40ffec:	bb bc 0b 45 00       	mov    $0x450bbc,%ebx
40fff1:	53                   	push   %ebx
40fff2:	ff 75 fc             	push   -0x4(%ebp)
40fff5:	e8 8d 15 03 00       	call   0x441587
40fffa:	8b f0                	mov    %eax,%esi
40fffc:	83 c4 10             	add    $0x10,%esp
40ffff:	85 f6                	test   %esi,%esi
410001:	0f 88 92 03 00 00    	js     0x410399
410007:	ff 77 54             	push   0x54(%edi)
41000a:	bb 78 0d 45 00       	mov    $0x450d78,%ebx
41000f:	68 88 17 45 00       	push   $0x451788
410014:	53                   	push   %ebx
410015:	ff 75 fc             	push   -0x4(%ebp)
410018:	e8 6a 15 03 00       	call   0x441587
41001d:	8b f0                	mov    %eax,%esi
41001f:	83 c4 10             	add    $0x10,%esp
410022:	85 f6                	test   %esi,%esi
410024:	0f 88 6f 03 00 00    	js     0x410399
41002a:	8b 5d 10             	mov    0x10(%ebp),%ebx
41002d:	8d 45 f8             	lea    -0x8(%ebp),%eax
410030:	50                   	push   %eax
410031:	53                   	push   %ebx
410032:	57                   	push   %edi
410033:	e8 96 e8 ff ff       	call   0x40e8ce
410038:	85 c0                	test   %eax,%eax
41003a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41003d:	79 03                	jns    0x410042
41003f:	8b 47 60             	mov    0x60(%edi),%eax
410042:	50                   	push   %eax
410043:	68 88 0b 45 00       	push   $0x450b88
410048:	ff 75 fc             	push   -0x4(%ebp)
41004b:	e8 42 13 03 00       	call   0x441392
410050:	8b f0                	mov    %eax,%esi
410052:	85 f6                	test   %esi,%esi
410054:	79 0a                	jns    0x410060
410056:	68 88 0b 45 00       	push   $0x450b88
41005b:	e9 3a 03 00 00       	jmp    0x41039a
410060:	83 7f 64 00          	cmpl   $0x0,0x64(%edi)
410064:	74 20                	je     0x410086
410066:	ff 77 64             	push   0x64(%edi)
410069:	68 90 0d 45 00       	push   $0x450d90
41006e:	ff 75 fc             	push   -0x4(%ebp)
410071:	e8 1c 13 03 00       	call   0x441392
410076:	8b f0                	mov    %eax,%esi
410078:	85 f6                	test   %esi,%esi
41007a:	79 0a                	jns    0x410086
41007c:	68 90 0d 45 00       	push   $0x450d90
410081:	e9 14 03 00 00       	jmp    0x41039a
410086:	8d 45 f4             	lea    -0xc(%ebp),%eax
410089:	50                   	push   %eax
41008a:	53                   	push   %ebx
41008b:	57                   	push   %edi
41008c:	e8 d5 e7 ff ff       	call   0x40e866
410091:	85 c0                	test   %eax,%eax
410093:	8b 45 f4             	mov    -0xc(%ebp),%eax
410096:	79 03                	jns    0x41009b
410098:	8b 47 68             	mov    0x68(%edi),%eax
41009b:	50                   	push   %eax
41009c:	68 cc 0d 45 00       	push   $0x450dcc
4100a1:	ff 75 fc             	push   -0x4(%ebp)
4100a4:	e8 e9 12 03 00       	call   0x441392
4100a9:	8b f0                	mov    %eax,%esi
4100ab:	85 f6                	test   %esi,%esi
4100ad:	79 0a                	jns    0x4100b9
4100af:	68 cc 0d 45 00       	push   $0x450dcc
4100b4:	e9 e1 02 00 00       	jmp    0x41039a
4100b9:	83 7f 6c 00          	cmpl   $0x0,0x6c(%edi)
4100bd:	74 20                	je     0x4100df
4100bf:	ff 77 6c             	push   0x6c(%edi)
4100c2:	68 e0 0d 45 00       	push   $0x450de0
4100c7:	ff 75 fc             	push   -0x4(%ebp)
4100ca:	e8 c3 12 03 00       	call   0x441392
4100cf:	8b f0                	mov    %eax,%esi
4100d1:	85 f6                	test   %esi,%esi
4100d3:	79 0a                	jns    0x4100df
4100d5:	68 e0 0d 45 00       	push   $0x450de0
4100da:	e9 bb 02 00 00       	jmp    0x41039a
4100df:	83 7f 70 00          	cmpl   $0x0,0x70(%edi)
4100e3:	74 20                	je     0x410105
4100e5:	ff 77 70             	push   0x70(%edi)
4100e8:	68 f4 0d 45 00       	push   $0x450df4
4100ed:	ff 75 fc             	push   -0x4(%ebp)
4100f0:	e8 9d 12 03 00       	call   0x441392
4100f5:	8b f0                	mov    %eax,%esi
4100f7:	85 f6                	test   %esi,%esi
4100f9:	79 0a                	jns    0x410105
4100fb:	68 f4 0d 45 00       	push   $0x450df4
410100:	e9 95 02 00 00       	jmp    0x41039a
410105:	83 7f 74 00          	cmpl   $0x0,0x74(%edi)
410109:	74 20                	je     0x41012b
41010b:	ff 77 74             	push   0x74(%edi)
41010e:	68 10 0e 45 00       	push   $0x450e10
410113:	ff 75 fc             	push   -0x4(%ebp)
410116:	e8 77 12 03 00       	call   0x441392
41011b:	8b f0                	mov    %eax,%esi
41011d:	85 f6                	test   %esi,%esi
41011f:	79 0a                	jns    0x41012b
410121:	68 10 0e 45 00       	push   $0x450e10
410126:	e9 6f 02 00 00       	jmp    0x41039a
41012b:	83 7f 78 00          	cmpl   $0x0,0x78(%edi)
41012f:	74 20                	je     0x410151
410131:	ff 77 78             	push   0x78(%edi)
410134:	68 2c 0e 45 00       	push   $0x450e2c
410139:	ff 75 fc             	push   -0x4(%ebp)
41013c:	e8 51 12 03 00       	call   0x441392
410141:	8b f0                	mov    %eax,%esi
410143:	85 f6                	test   %esi,%esi
410145:	79 0a                	jns    0x410151
410147:	68 2c 0e 45 00       	push   $0x450e2c
41014c:	e9 49 02 00 00       	jmp    0x41039a
410151:	83 7f 7c 00          	cmpl   $0x0,0x7c(%edi)