403c7e:	03 06                	add    (%esi),%eax
403c80:	5e                   	pop    %esi
403c81:	3b 44 24 08          	cmp    0x8(%esp),%eax
403c85:	76 04                	jbe    0x403c8b
403c87:	b0 01                	mov    $0x1,%al
403c89:	eb 02                	jmp    0x403c8d
403c8b:	32 c0                	xor    %al,%al
403c8d:	5b                   	pop    %ebx
403c8e:	c2 04 00             	ret    $0x4
403c91:	c3                   	ret
403c92:	b8 3a 6b 42 00       	mov    $0x426b3a,%eax
403c97:	e8 24 31 00 00       	call   0x406dc0
403c9c:	83 ec 20             	sub    $0x20,%esp
403c9f:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
403ca3:	56                   	push   %esi
403ca4:	8b f1                	mov    %ecx,%esi
403ca6:	89 75 f0             	mov    %esi,-0x10(%ebp)
403ca9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403cad:	8d 4d 10             	lea    0x10(%ebp),%ecx
403cb0:	e8 c1 08 00 00       	call   0x404576
403cb5:	84 c0                	test   %al,%al
403cb7:	75 0d                	jne    0x403cc6
403cb9:	68 b0 73 42 00       	push   $0x4273b0
403cbe:	8d 4d 10             	lea    0x10(%ebp),%ecx
403cc1:	e8 c8 03 00 00       	call   0x40408e
403cc6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
403cc9:	50                   	push   %eax
403cca:	8d 4d 08             	lea    0x8(%ebp),%ecx
403ccd:	e8 b2 0b 00 00       	call   0x404884
403cd2:	50                   	push   %eax
403cd3:	8d 4d 10             	lea    0x10(%ebp),%ecx
403cd6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
403cda:	e8 0c 03 00 00       	call   0x403feb
403cdf:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
403ce2:	e8 50 f2 ff ff       	call   0x402f37
403ce7:	8d 45 10             	lea    0x10(%ebp),%eax
403cea:	8b ce                	mov    %esi,%ecx
403cec:	50                   	push   %eax
403ced:	e8 f8 ea ff ff       	call   0x4027ea
403cf2:	8d 4d 10             	lea    0x10(%ebp),%ecx
403cf5:	e8 3d f2 ff ff       	call   0x402f37
403cfa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403cfd:	8b c6                	mov    %esi,%eax
403cff:	5e                   	pop    %esi
403d00:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403d07:	8b e5                	mov    %ebp,%esp
403d09:	5d                   	pop    %ebp
403d0a:	c2 20 00             	ret    $0x20
403d0d:	e8 fb fb ff ff       	call   0x40390d
403d12:	83 c0 08             	add    $0x8,%eax
403d15:	c3                   	ret
403d16:	e9 f2 fb ff ff       	jmp    0x40390d
403d1b:	e8 ed fb ff ff       	call   0x40390d
403d20:	83 c0 04             	add    $0x4,%eax
403d23:	c3                   	ret
403d24:	e8 da fb ff ff       	call   0x403903
403d29:	8b c8                	mov    %eax,%ecx
403d2b:	e9 0c 00 00 00       	jmp    0x403d3c
403d30:	e8 d3 fb ff ff       	call   0x403908
403d35:	8b c8                	mov    %eax,%ecx
403d37:	e9 12 00 00 00       	jmp    0x403d4e
403d3c:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
403d40:	72 09                	jb     0x403d4b
403d42:	8b 09                	mov    (%ecx),%ecx
403d44:	e8 f9 e6 ff ff       	call   0x402442
403d49:	8b c8                	mov    %eax,%ecx
403d4b:	8b c1                	mov    %ecx,%eax
403d4d:	c3                   	ret
403d4e:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
403d52:	72 09                	jb     0x403d5d
403d54:	8b 09                	mov    (%ecx),%ecx
403d56:	e8 e7 e6 ff ff       	call   0x402442
403d5b:	8b c8                	mov    %eax,%ecx
403d5d:	8b c1                	mov    %ecx,%eax
403d5f:	c3                   	ret
403d60:	e8 9e fb ff ff       	call   0x403903
403d65:	83 c0 14             	add    $0x14,%eax
403d68:	c3                   	ret
403d69:	e8 95 fb ff ff       	call   0x403903
403d6e:	83 c0 10             	add    $0x10,%eax
403d71:	c3                   	ret
403d72:	e8 91 fb ff ff       	call   0x403908
403d77:	83 c0 10             	add    $0x10,%eax
403d7a:	c3                   	ret
403d7b:	e9 8d fb ff ff       	jmp    0x40390d
403d80:	b8 44 6b 42 00       	mov    $0x426b44,%eax
403d85:	e8 36 30 00 00       	call   0x406dc0
403d8a:	51                   	push   %ecx
403d8b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403d8f:	53                   	push   %ebx
403d90:	56                   	push   %esi
403d91:	8b f1                	mov    %ecx,%esi
403d93:	57                   	push   %edi
403d94:	89 65 f0             	mov    %esp,-0x10(%ebp)
403d97:	8b 06                	mov    (%esi),%eax
403d99:	8b 78 04             	mov    0x4(%eax),%edi
403d9c:	03 fe                	add    %esi,%edi
403d9e:	8b cf                	mov    %edi,%ecx
403da0:	e8 a3 09 00 00       	call   0x404748
403da5:	84 c0                	test   %al,%al
403da7:	74 2e                	je     0x403dd7
403da9:	8b cf                	mov    %edi,%ecx
403dab:	e8 eb 08 00 00       	call   0x40469b
403db0:	a8 02                	test   $0x2,%al
403db2:	74 23                	je     0x403dd7
403db4:	8b cf                	mov    %edi,%ecx
403db6:	e8 6f 0e 00 00       	call   0x404c2a
403dbb:	8b c8                	mov    %eax,%ecx
403dbd:	e8 63 0e 00 00       	call   0x404c25
403dc2:	83 f8 ff             	cmp    $0xffffffff,%eax
403dc5:	75 10                	jne    0x403dd7
403dc7:	8b 06                	mov    (%esi),%eax
403dc9:	6a 00                	push   $0x0
403dcb:	6a 04                	push   $0x4
403dcd:	8b 48 04             	mov    0x4(%eax),%ecx
403dd0:	03 ce                	add    %esi,%ecx
403dd2:	e8 b8 12 00 00       	call   0x40508f
403dd7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403dda:	5f                   	pop    %edi
403ddb:	5e                   	pop    %esi
403ddc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403de3:	5b                   	pop    %ebx
403de4:	8b e5                	mov    %ebp,%esp
403de6:	5d                   	pop    %ebp
403de7:	c3                   	ret
403de8:	b8 d7 3d 40 00       	mov    $0x403dd7,%eax
403ded:	c3                   	ret
403dee:	8b 41 20             	mov    0x20(%ecx),%eax
403df1:	33 d2                	xor    %edx,%edx
403df3:	39 10                	cmp    %edx,(%eax)
403df5:	74 05                	je     0x403dfc
403df7:	8b 41 30             	mov    0x30(%ecx),%eax
403dfa:	8b 10                	mov    (%eax),%edx
403dfc:	8b c2                	mov    %edx,%eax
403dfe:	99                   	cltd
403dff:	c3                   	ret
403e00:	8b 41 30             	mov    0x30(%ecx),%eax
403e03:	ff 08                	decl   (%eax)
403e05:	8b 51 20             	mov    0x20(%ecx),%edx
403e08:	8b 02                	mov    (%edx),%eax
403e0a:	8d 48 02             	lea    0x2(%eax),%ecx
403e0d:	89 0a                	mov    %ecx,(%edx)
403e0f:	c3                   	ret
403e10:	56                   	push   %esi
403e11:	8b f1                	mov    %ecx,%esi
403e13:	83 3e 00             	cmpl   $0x0,(%esi)
403e16:	74 08                	je     0x403e20
403e18:	ff 36                	push   (%esi)
403e1a:	e8 2e 7f 00 00       	call   0x40bd4d
403e1f:	59                   	pop    %ecx
403e20:	83 26 00             	andl   $0x0,(%esi)
403e23:	5e                   	pop    %esi
403e24:	c3                   	ret
403e25:	56                   	push   %esi
403e26:	8b f1                	mov    %ecx,%esi
403e28:	83 3e 00             	cmpl   $0x0,(%esi)
403e2b:	74 08                	je     0x403e35
403e2d:	ff 36                	push   (%esi)
403e2f:	e8 19 7f 00 00       	call   0x40bd4d
403e34:	59                   	pop    %ecx
403e35:	83 26 00             	andl   $0x0,(%esi)
403e38:	5e                   	pop    %esi
403e39:	c3                   	ret
403e3a:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
403e3f:	56                   	push   %esi
403e40:	8b f1                	mov    %ecx,%esi
403e42:	74 67                	je     0x403eab
403e44:	e8 17 ff ff ff       	call   0x403d60
403e49:	83 38 10             	cmpl   $0x10,(%eax)
403e4c:	72 5d                	jb     0x403eab
403e4e:	53                   	push   %ebx
403e4f:	8b ce                	mov    %esi,%ecx
403e51:	e8 04 f8 ff ff       	call   0x40365a
403e56:	8b ce                	mov    %esi,%ecx
403e58:	8b 18                	mov    (%eax),%ebx
403e5a:	e8 fb f7 ff ff       	call   0x40365a
403e5f:	8b c8                	mov    %eax,%ecx
403e61:	e8 e2 e5 ff ff       	call   0x402448
403e66:	8b ce                	mov    %esi,%ecx
403e68:	e8 b7 fa ff ff       	call   0x403924
403e6d:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
403e72:	76 1c                	jbe    0x403e90
403e74:	ff 74 24 10          	push   0x10(%esp)
403e78:	8b cb                	mov    %ebx,%ecx
403e7a:	e8 c3 e5 ff ff       	call   0x402442
403e7f:	50                   	push   %eax
403e80:	8b ce                	mov    %esi,%ecx
403e82:	e8 d3 f7 ff ff       	call   0x40365a
403e87:	50                   	push   %eax
403e88:	e8 7d 04 00 00       	call   0x40430a
403e8d:	83 c4 0c             	add    $0xc,%esp
403e90:	8b ce                	mov    %esi,%ecx
403e92:	e8 c9 fe ff ff       	call   0x403d60
403e97:	8b ce                	mov    %esi,%ecx
403e99:	8b 00                	mov    (%eax),%eax
403e9b:	40                   	inc    %eax
403e9c:	50                   	push   %eax
403e9d:	53                   	push   %ebx
403e9e:	e8 81 fa ff ff       	call   0x403924
403ea3:	8b c8                	mov    %eax,%ecx
403ea5:	e8 88 04 00 00       	call   0x404332
403eaa:	5b                   	pop    %ebx
403eab:	8b ce                	mov    %esi,%ecx
403ead:	e8 ae fe ff ff       	call   0x403d60
403eb2:	ff 74 24 0c          	push   0xc(%esp)
403eb6:	8b ce                	mov    %esi,%ecx
403eb8:	c7 00 0f 00 00 00    	movl   $0xf,(%eax)
403ebe:	e8 10 fa ff ff       	call   0x4038d3
403ec3:	5e                   	pop    %esi
403ec4:	c2 08 00             	ret    $0x8
403ec7:	56                   	push   %esi
403ec8:	8b f1                	mov    %ecx,%esi
403eca:	57                   	push   %edi
403ecb:	f6 46 3c 01          	testb  $0x1,0x3c(%esi)
403ecf:	74 35                	je     0x403f06
403ed1:	e8 49 0d 00 00       	call   0x404c1f
403ed6:	8b ce                	mov    %esi,%ecx
403ed8:	85 c0                	test   %eax,%eax
403eda:	74 07                	je     0x403ee3
403edc:	e8 a7 06 00 00       	call   0x404588
403ee1:	eb 05                	jmp    0x403ee8
403ee3:	e8 80 06 00 00       	call   0x404568
403ee8:	8b ce                	mov    %esi,%ecx
403eea:	8b f8                	mov    %eax,%edi
403eec:	e8 71 06 00 00       	call   0x404562
403ef1:	2b f8                	sub    %eax,%edi
403ef3:	8b ce                	mov    %esi,%ecx
403ef5:	d1 ff                	sar    $1,%edi
403ef7:	57                   	push   %edi
403ef8:	e8 65 06 00 00       	call   0x404562
403efd:	50                   	push   %eax
403efe:	8d 4e 40             	lea    0x40(%esi),%ecx
403f01:	e8 5a 04 00 00       	call   0x404360
403f06:	33 ff                	xor    %edi,%edi
403f08:	8b ce                	mov    %esi,%ecx
403f0a:	57                   	push   %edi
403f0b:	57                   	push   %edi
403f0c:	57                   	push   %edi
403f0d:	e8 15 11 00 00       	call   0x405027
403f12:	57                   	push   %edi
403f13:	57                   	push   %edi
403f14:	8b ce                	mov    %esi,%ecx
403f16:	e8 54 11 00 00       	call   0x40506f
403f1b:	83 66 3c fe          	andl   $0xfffffffe,0x3c(%esi)
403f1f:	89 7e 38             	mov    %edi,0x38(%esi)
403f22:	5f                   	pop    %edi
403f23:	5e                   	pop    %esi
403f24:	c3                   	ret
403f25:	53                   	push   %ebx
403f26:	55                   	push   %ebp
403f27:	8b d9                	mov    %ecx,%ebx
403f29:	e8 e8 fd ff ff       	call   0x403d16
403f2e:	33 ed                	xor    %ebp,%ebp
403f30:	39 28                	cmp    %ebp,(%eax)
403f32:	74 77                	je     0x403fab
403f34:	56                   	push   %esi
403f35:	57                   	push   %edi
403f36:	8b cb                	mov    %ebx,%ecx
403f38:	e8 3e fe ff ff       	call   0x403d7b
403f3d:	8b cb                	mov    %ebx,%ecx
403f3f:	e8 d7 fd ff ff       	call   0x403d1b
403f44:	8b cb                	mov    %ebx,%ecx
403f46:	8b f0                	mov    %eax,%esi
403f48:	e8 c9 fd ff ff       	call   0x403d16
403f4d:	ff 36                	push   (%esi)
403f4f:	8b cb                	mov    %ebx,%ecx
403f51:	ff 30                	push   (%eax)
403f53:	e8 eb f8 ff ff       	call   0x403843
403f58:	8b cb                	mov    %ebx,%ecx
403f5a:	e8 ae fd ff ff       	call   0x403d0d
403f5f:	8b cb                	mov    %ebx,%ecx
403f61:	8b f8                	mov    %eax,%edi
403f63:	e8 ae fd ff ff       	call   0x403d16
403f68:	8b cb                	mov    %ebx,%ecx
403f6a:	8b f0                	mov    %eax,%esi
403f6c:	e8 a5 fd ff ff       	call   0x403d16
403f71:	8b c8                	mov    %eax,%ecx
403f73:	8b 07                	mov    (%edi),%eax
403f75:	2b 06                	sub    (%esi),%eax
403f77:	6a 18                	push   $0x18
403f79:	5e                   	pop    %esi
403f7a:	99                   	cltd
403f7b:	f7 fe                	idiv   %esi
403f7d:	50                   	push   %eax
403f7e:	ff 31                	push   (%ecx)
403f80:	8b cb                	mov    %ebx,%ecx
403f82:	e8 a7 f9 ff ff       	call   0x40392e
403f87:	8b c8                	mov    %eax,%ecx
403f89:	e8 a9 03 00 00       	call   0x404337
403f8e:	8b cb                	mov    %ebx,%ecx
403f90:	e8 81 fd ff ff       	call   0x403d16
403f95:	8b cb                	mov    %ebx,%ecx
403f97:	89 28                	mov    %ebp,(%eax)
403f99:	e8 7d fd ff ff       	call   0x403d1b
403f9e:	8b cb                	mov    %ebx,%ecx
403fa0:	89 28                	mov    %ebp,(%eax)
403fa2:	e8 66 fd ff ff       	call   0x403d0d
403fa7:	5f                   	pop    %edi
403fa8:	5e                   	pop    %esi
403fa9:	89 28                	mov    %ebp,(%eax)
403fab:	5d                   	pop    %ebp
403fac:	5b                   	pop    %ebx
403fad:	c3                   	ret
403fae:	c3                   	ret
403faf:	68 b4 75 42 00       	push   $0x4275b4
403fb4:	e8 a0 19 00 00       	call   0x405959
403fb9:	cc                   	int3
403fba:	68 c4 75 42 00       	push   $0x4275c4
403fbf:	e8 b5 19 00 00       	call   0x405979
403fc4:	cc                   	int3
403fc5:	e9 00 00 00 00       	jmp    0x403fca
403fca:	8b 4c 24 04          	mov    0x4(%esp),%ecx
403fce:	33 d2                	xor    %edx,%edx
403fd0:	42                   	inc    %edx
403fd1:	52                   	push   %edx
403fd2:	e8 82 f5 ff ff       	call   0x403559
403fd7:	c2 04 00             	ret    $0x4
403fda:	8b 4c 24 04          	mov    0x4(%esp),%ecx
403fde:	6a 01                	push   $0x1
403fe0:	6a 02                	push   $0x2
403fe2:	5a                   	pop    %edx
403fe3:	e8 71 f5 ff ff       	call   0x403559
403fe8:	c2 04 00             	ret    $0x4
403feb:	6a ff                	push   $0xffffffff
403fed:	6a 00                	push   $0x0
403fef:	ff 74 24 0c          	push   0xc(%esp)
403ff3:	e8 03 00 00 00       	call   0x403ffb
403ff8:	c2 04 00             	ret    $0x4
403ffb:	55                   	push   %ebp
403ffc:	57                   	push   %edi
403ffd:	ff 74 24 10          	push   0x10(%esp)
404001:	8b f9                	mov    %ecx,%edi
404003:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404007:	e8 53 f6 ff ff       	call   0x40365f
40400c:	ff 74 24 14          	push   0x14(%esp)
404010:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404014:	ff 74 24 14          	push   0x14(%esp)
404018:	e8 5e f6 ff ff       	call   0x40367b
40401d:	8b cf                	mov    %edi,%ecx
40401f:	8b e8                	mov    %eax,%ebp
404021:	e8 43 fd ff ff       	call   0x403d69
404026:	8b 08                	mov    (%eax),%ecx
404028:	f7 d1                	not    %ecx
40402a:	3b cd                	cmp    %ebp,%ecx
40402c:	8b cf                	mov    %edi,%ecx
40402e:	76 58                	jbe    0x404088
404030:	53                   	push   %ebx
404031:	e8 33 fd ff ff       	call   0x403d69
404036:	8b 18                	mov    (%eax),%ebx
404038:	03 dd                	add    %ebp,%ebx