41edf5:	74 0b                	je     0x41ee02
41edf7:	8b 46 54             	mov    0x54(%esi),%eax
41edfa:	3b c1                	cmp    %ecx,%eax
41edfc:	74 04                	je     0x41ee02
41edfe:	51                   	push   %ecx
41edff:	51                   	push   %ecx
41ee00:	ff d0                	call   *%eax
41ee02:	e8 b7 0f 00 00       	call   0x41fdbe
41ee07:	e8 c0 08 00 00       	call   0x41f6cc
41ee0c:	e8 ab dd ff ff       	call   0x41cbbc
41ee11:	e8 26 b4 ff ff       	call   0x41a23c
41ee16:	e8 88 c9 fe ff       	call   0x40b7a3
41ee1b:	68 ce b1 40 00       	push   $0x40b1ce
41ee20:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41ee25:	e8 64 62 00 00       	call   0x42508e
41ee2a:	85 ff                	test   %edi,%edi
41ee2c:	8b f0                	mov    %eax,%esi
41ee2e:	74 5e                	je     0x41ee8e
41ee30:	8b 46 0c             	mov    0xc(%esi),%eax
41ee33:	85 c0                	test   %eax,%eax
41ee35:	74 0f                	je     0x41ee46
41ee37:	50                   	push   %eax
41ee38:	e8 93 dd fe ff       	call   0x40cbd0
41ee3d:	3b 87 b8 00 00 00    	cmp    0xb8(%edi),%eax
41ee43:	59                   	pop    %ecx
41ee44:	73 48                	jae    0x41ee8e
41ee46:	83 bf b8 00 00 00 00 	cmpl   $0x0,0xb8(%edi)
41ee4d:	74 3f                	je     0x41ee8e
41ee4f:	8b 46 0c             	mov    0xc(%esi),%eax
41ee52:	33 db                	xor    %ebx,%ebx
41ee54:	85 c0                	test   %eax,%eax
41ee56:	74 12                	je     0x41ee6a
41ee58:	50                   	push   %eax
41ee59:	e8 72 dd fe ff       	call   0x40cbd0
41ee5e:	59                   	pop    %ecx
41ee5f:	8b d8                	mov    %eax,%ebx
41ee61:	ff 76 0c             	push   0xc(%esi)
41ee64:	e8 27 d7 fe ff       	call   0x40c590
41ee69:	59                   	pop    %ecx
41ee6a:	ff b7 b8 00 00 00    	push   0xb8(%edi)
41ee70:	e8 4b d6 fe ff       	call   0x40c4c0
41ee75:	85 c0                	test   %eax,%eax
41ee77:	59                   	pop    %ecx
41ee78:	89 46 0c             	mov    %eax,0xc(%esi)
41ee7b:	75 0e                	jne    0x41ee8b
41ee7d:	85 db                	test   %ebx,%ebx
41ee7f:	74 0a                	je     0x41ee8b
41ee81:	53                   	push   %ebx
41ee82:	e8 39 d6 fe ff       	call   0x40c4c0
41ee87:	59                   	pop    %ecx
41ee88:	89 46 0c             	mov    %eax,0xc(%esi)
41ee8b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41ee8e:	33 c0                	xor    %eax,%eax
41ee90:	5f                   	pop    %edi
41ee91:	39 43 10             	cmp    %eax,0x10(%ebx)
41ee94:	5e                   	pop    %esi
41ee95:	5b                   	pop    %ebx
41ee96:	0f 95 c0             	setne  %al
41ee99:	c9                   	leave
41ee9a:	c2 04 00             	ret    $0x4
41ee9d:	b8 8f 7c 42 00       	mov    $0x427c8f,%eax
41eea2:	e8 89 cd fe ff       	call   0x40bc30
41eea7:	51                   	push   %ecx
41eea8:	56                   	push   %esi
41eea9:	57                   	push   %edi
41eeaa:	8b f1                	mov    %ecx,%esi
41eeac:	6a 0a                	push   $0xa
41eeae:	89 75 f0             	mov    %esi,-0x10(%ebp)
41eeb1:	e8 3a ab ff ff       	call   0x4199f0
41eeb6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41eeba:	8d 7e 1c             	lea    0x1c(%esi),%edi
41eebd:	6a 04                	push   $0x4
41eebf:	8b cf                	mov    %edi,%ecx
41eec1:	e8 2a ab ff ff       	call   0x4199f0
41eec6:	6a 00                	push   $0x0
41eec8:	6a 07                	push   $0x7
41eeca:	8b cf                	mov    %edi,%ecx
41eecc:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41eed0:	e8 5e ab ff ff       	call   0x419a33
41eed5:	8b 45 08             	mov    0x8(%ebp),%eax
41eed8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41eedb:	89 46 38             	mov    %eax,0x38(%esi)
41eede:	8b 45 0c             	mov    0xc(%ebp),%eax
41eee1:	89 46 3c             	mov    %eax,0x3c(%esi)
41eee4:	8b 45 10             	mov    0x10(%ebp),%eax
41eee7:	89 46 40             	mov    %eax,0x40(%esi)
41eeea:	8b c6                	mov    %esi,%eax
41eeec:	5f                   	pop    %edi
41eeed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41eef4:	5e                   	pop    %esi
41eef5:	c9                   	leave
41eef6:	c2 0c 00             	ret    $0xc
41eef9:	b8 9c 7c 42 00       	mov    $0x427c9c,%eax
41eefe:	e8 2d cd fe ff       	call   0x40bc30
41ef03:	51                   	push   %ecx
41ef04:	83 ec 10             	sub    $0x10,%esp
41ef07:	53                   	push   %ebx
41ef08:	56                   	push   %esi
41ef09:	57                   	push   %edi
41ef0a:	8b 7d 08             	mov    0x8(%ebp),%edi
41ef0d:	8b f1                	mov    %ecx,%esi
41ef0f:	89 65 f0             	mov    %esp,-0x10(%ebp)
41ef12:	85 ff                	test   %edi,%edi
41ef14:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41ef17:	75 07                	jne    0x41ef20
41ef19:	33 c0                	xor    %eax,%eax
41ef1b:	e9 a3 00 00 00       	jmp    0x41efc3
41ef20:	57                   	push   %edi
41ef21:	8b ce                	mov    %esi,%ecx
41ef23:	e8 44 ac ff ff       	call   0x419b6c
41ef28:	85 c0                	test   %eax,%eax
41ef2a:	0f 85 93 00 00 00    	jne    0x41efc3
41ef30:	8d 5e 1c             	lea    0x1c(%esi),%ebx
41ef33:	57                   	push   %edi
41ef34:	8b cb                	mov    %ebx,%ecx
41ef36:	e8 31 ac ff ff       	call   0x419b6c
41ef3b:	85 c0                	test   %eax,%eax
41ef3d:	74 13                	je     0x41ef52
41ef3f:	8b 4e 3c             	mov    0x3c(%esi),%ecx
41ef42:	89 3c 01             	mov    %edi,(%ecx,%eax,1)
41ef45:	03 c8                	add    %eax,%ecx
41ef47:	83 7e 40 02          	cmpl   $0x2,0x40(%esi)
41ef4b:	75 76                	jne    0x41efc3
41ef4d:	89 79 04             	mov    %edi,0x4(%ecx)
41ef50:	eb 71                	jmp    0x41efc3
41ef52:	68 92 01 42 00       	push   $0x420192
41ef57:	e8 91 dd ff ff       	call   0x41cced
41ef5c:	8b 4e 38             	mov    0x38(%esi),%ecx
41ef5f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ef63:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ef66:	e8 15 de ff ff       	call   0x41cd80
41ef6b:	85 c0                	test   %eax,%eax
41ef6d:	89 45 ec             	mov    %eax,-0x14(%ebp)
41ef70:	75 05                	jne    0x41ef77
41ef72:	e8 fe a6 ff ff       	call   0x419675
41ef77:	57                   	push   %edi
41ef78:	8b cb                	mov    %ebx,%ecx
41ef7a:	e8 20 ac ff ff       	call   0x419b9f
41ef7f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41ef82:	89 08                	mov    %ecx,(%eax)
41ef84:	eb 1d                	jmp    0x41efa3
41ef86:	ff 75 e8             	push   -0x18(%ebp)
41ef89:	e8 5f dd ff ff       	call   0x41cced
41ef8e:	6a 00                	push   $0x0
41ef90:	6a 00                	push   $0x0
41ef92:	e8 d9 d4 fe ff       	call   0x40c470
41ef97:	b8 9d ef 41 00       	mov    $0x41ef9d,%eax
41ef9c:	c3                   	ret
41ef9d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41efa0:	8b 7d 08             	mov    0x8(%ebp),%edi
41efa3:	ff 75 e8             	push   -0x18(%ebp)
41efa6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41efaa:	e8 3e dd ff ff       	call   0x41cced
41efaf:	8b 46 3c             	mov    0x3c(%esi),%eax
41efb2:	03 45 ec             	add    -0x14(%ebp),%eax
41efb5:	89 38                	mov    %edi,(%eax)
41efb7:	83 7e 40 02          	cmpl   $0x2,0x40(%esi)
41efbb:	75 03                	jne    0x41efc0
41efbd:	89 78 04             	mov    %edi,0x4(%eax)
41efc0:	8b 45 ec             	mov    -0x14(%ebp),%eax
41efc3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41efc6:	5f                   	pop    %edi
41efc7:	5e                   	pop    %esi
41efc8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41efcf:	5b                   	pop    %ebx
41efd0:	c9                   	leave
41efd1:	c2 04 00             	ret    $0x4
41efd4:	55                   	push   %ebp
41efd5:	8b ec                	mov    %esp,%ebp
41efd7:	83 ec 0c             	sub    $0xc,%esp
41efda:	56                   	push   %esi
41efdb:	8b f1                	mov    %ecx,%esi
41efdd:	8b 46 28             	mov    0x28(%esi),%eax
41efe0:	f7 d8                	neg    %eax
41efe2:	1b c0                	sbb    %eax,%eax
41efe4:	85 c0                	test   %eax,%eax
41efe6:	89 45 f8             	mov    %eax,-0x8(%ebp)
41efe9:	74 3f                	je     0x41f02a
41efeb:	57                   	push   %edi
41efec:	8d 7e 1c             	lea    0x1c(%esi),%edi
41efef:	8d 45 fc             	lea    -0x4(%ebp),%eax
41eff2:	8b cf                	mov    %edi,%ecx
41eff4:	50                   	push   %eax
41eff5:	8d 45 f4             	lea    -0xc(%ebp),%eax
41eff8:	50                   	push   %eax
41eff9:	8d 45 f8             	lea    -0x8(%ebp),%eax
41effc:	50                   	push   %eax
41effd:	e8 2f ac ff ff       	call   0x419c31
41f002:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f005:	03 46 3c             	add    0x3c(%esi),%eax
41f008:	83 20 00             	andl   $0x0,(%eax)
41f00b:	83 7e 40 02          	cmpl   $0x2,0x40(%esi)
41f00f:	75 04                	jne    0x41f015
41f011:	83 60 04 00          	andl   $0x0,0x4(%eax)
41f015:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41f018:	85 c9                	test   %ecx,%ecx
41f01a:	74 07                	je     0x41f023
41f01c:	8b 01                	mov    (%ecx),%eax
41f01e:	6a 01                	push   $0x1
41f020:	ff 50 04             	call   *0x4(%eax)
41f023:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41f027:	75 c6                	jne    0x41efef
41f029:	5f                   	pop    %edi
41f02a:	8d 4e 1c             	lea    0x1c(%esi),%ecx
41f02d:	e8 47 aa ff ff       	call   0x419a79
41f032:	5e                   	pop    %esi
41f033:	c9                   	leave
41f034:	c3                   	ret
41f035:	56                   	push   %esi
41f036:	57                   	push   %edi
41f037:	8b 3d 58 99 43 00    	mov    0x439958,%edi
41f03d:	8b f1                	mov    %ecx,%esi
41f03f:	6a 0f                	push   $0xf
41f041:	ff d7                	call   *%edi
41f043:	6a 10                	push   $0x10
41f045:	89 46 28             	mov    %eax,0x28(%esi)
41f048:	ff d7                	call   *%edi
41f04a:	6a 14                	push   $0x14
41f04c:	89 46 2c             	mov    %eax,0x2c(%esi)
41f04f:	ff d7                	call   *%edi
41f051:	6a 12                	push   $0x12
41f053:	89 46 30             	mov    %eax,0x30(%esi)
41f056:	ff d7                	call   *%edi
41f058:	6a 06                	push   $0x6
41f05a:	89 46 34             	mov    %eax,0x34(%esi)
41f05d:	ff d7                	call   *%edi
41f05f:	8b 3d f0 97 43 00    	mov    0x4397f0,%edi
41f065:	6a 0f                	push   $0xf
41f067:	89 46 38             	mov    %eax,0x38(%esi)
41f06a:	ff d7                	call   *%edi
41f06c:	6a 06                	push   $0x6
41f06e:	89 46 24             	mov    %eax,0x24(%esi)
41f071:	ff d7                	call   *%edi
41f073:	89 46 20             	mov    %eax,0x20(%esi)
41f076:	5f                   	pop    %edi
41f077:	5e                   	pop    %esi
41f078:	c3                   	ret
41f079:	53                   	push   %ebx
41f07a:	56                   	push   %esi
41f07b:	57                   	push   %edi
41f07c:	8b 3d 74 99 43 00    	mov    0x439974,%edi
41f082:	8b f1                	mov    %ecx,%esi
41f084:	6a 0b                	push   $0xb
41f086:	ff d7                	call   *%edi
41f088:	6a 0c                	push   $0xc
41f08a:	89 46 08             	mov    %eax,0x8(%esi)
41f08d:	ff d7                	call   *%edi
41f08f:	83 7e 68 00          	cmpl   $0x0,0x68(%esi)
41f093:	89 46 0c             	mov    %eax,0xc(%esi)
41f096:	74 07                	je     0x41f09f
41f098:	e8 60 62 00 00       	call   0x4252fd
41f09d:	eb 05                	jmp    0x41f0a4
41f09f:	e8 89 62 00 00       	call   0x42532d
41f0a4:	6a 00                	push   $0x0
41f0a6:	ff 15 64 99 43 00    	call   *0x439964
41f0ac:	8b 1d cc 95 43 00    	mov    0x4395cc,%ebx
41f0b2:	8b f8                	mov    %eax,%edi
41f0b4:	6a 58                	push   $0x58
41f0b6:	57                   	push   %edi
41f0b7:	ff d3                	call   *%ebx
41f0b9:	6a 5a                	push   $0x5a
41f0bb:	57                   	push   %edi
41f0bc:	89 46 18             	mov    %eax,0x18(%esi)
41f0bf:	ff d3                	call   *%ebx
41f0c1:	57                   	push   %edi
41f0c2:	6a 00                	push   $0x0
41f0c4:	89 46 1c             	mov    %eax,0x1c(%esi)
41f0c7:	ff 15 68 99 43 00    	call   *0x439968
41f0cd:	5f                   	pop    %edi
41f0ce:	5e                   	pop    %esi
41f0cf:	5b                   	pop    %ebx
41f0d0:	c3                   	ret
41f0d1:	56                   	push   %esi
41f0d2:	57                   	push   %edi
41f0d3:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41f0d7:	33 c0                	xor    %eax,%eax
41f0d9:	3b f8                	cmp    %eax,%edi
41f0db:	8b f1                	mov    %ecx,%esi
41f0dd:	75 0a                	jne    0x41f0e9
41f0df:	89 06                	mov    %eax,(%esi)
41f0e1:	89 46 04             	mov    %eax,0x4(%esi)
41f0e4:	89 46 08             	mov    %eax,0x8(%esi)
41f0e7:	eb 10                	jmp    0x41f0f9
41f0e9:	57                   	push   %edi
41f0ea:	e8 db 00 00 00       	call   0x41f1ca
41f0ef:	59                   	pop    %ecx
41f0f0:	50                   	push   %eax
41f0f1:	57                   	push   %edi
41f0f2:	8b ce                	mov    %esi,%ecx
41f0f4:	e8 07 00 00 00       	call   0x41f100
41f0f9:	8b c6                	mov    %esi,%eax
41f0fb:	5f                   	pop    %edi
41f0fc:	5e                   	pop    %esi
41f0fd:	c2 04 00             	ret    $0x4
41f100:	8b 44 24 08          	mov    0x8(%esp),%eax
41f104:	56                   	push   %esi
41f105:	8b f1                	mov    %ecx,%esi
41f107:	89 46 04             	mov    %eax,0x4(%esi)
41f10a:	83 c0 40             	add    $0x40,%eax
41f10d:	50                   	push   %eax
41f10e:	6a 40                	push   $0x40
41f110:	ff 15 00 97 43 00    	call   *0x439700
41f116:	85 c0                	test   %eax,%eax
41f118:	89 06                	mov    %eax,(%esi)
41f11a:	74 40                	je     0x41f15c
41f11c:	57                   	push   %edi
41f11d:	50                   	push   %eax
41f11e:	ff 15 28 97 43 00    	call   *0x439728
41f124:	ff 76 04             	push   0x4(%esi)
41f127:	8b f8                	mov    %eax,%edi
41f129:	ff 74 24 10          	push   0x10(%esp)
41f12d:	57                   	push   %edi
41f12e:	e8 3d cc fe ff       	call   0x40bd70
41f133:	83 c4 0c             	add    $0xc,%esp
41f136:	66 81 7f 02 ff ff    	cmpw   $0xffff,0x2(%edi)
41f13c:	75 05                	jne    0x41f143
41f13e:	8b 47 0c             	mov    0xc(%edi),%eax
41f141:	eb 02                	jmp    0x41f145
41f143:	8b 07                	mov    (%edi),%eax
41f145:	ff 36                	push   (%esi)
41f147:	f7 d0                	not    %eax
41f149:	c1 e8 06             	shr    $0x6,%eax
41f14c:	83 e0 01             	and    $0x1,%eax
41f14f:	89 46 08             	mov    %eax,0x8(%esi)
41f152:	ff 15 30 97 43 00    	call   *0x439730
41f158:	6a 01                	push   $0x1
41f15a:	58                   	pop    %eax
41f15b:	5f                   	pop    %edi
41f15c:	5e                   	pop    %esi
41f15d:	c2 08 00             	ret    $0x8
41f160:	8b 01                	mov    (%ecx),%eax
41f162:	85 c0                	test   %eax,%eax
41f164:	74 07                	je     0x41f16d
41f166:	50                   	push   %eax
41f167:	ff 15 24 97 43 00    	call   *0x439724
41f16d:	c3                   	ret
41f16e:	8b 01                	mov    (%ecx),%eax
41f170:	83 21 00             	andl   $0x0,(%ecx)
41f173:	c3                   	ret
41f174:	8b 44 24 04          	mov    0x4(%esp),%eax
41f178:	66 81 78 02 ff ff    	cmpw   $0xffff,0x2(%eax)
41f17e:	75 05                	jne    0x41f185
41f180:	83 c0 1a             	add    $0x1a,%eax
41f183:	eb 03                	jmp    0x41f188
41f185:	83 c0 12             	add    $0x12,%eax
41f188:	66 8b 08             	mov    (%eax),%cx
41f18b:	6a 02                	push   $0x2
41f18d:	66 81 f9 ff ff       	cmp    $0xffff,%cx
41f192:	5a                   	pop    %edx
41f193:	75 29                	jne    0x41f1be