41cab0:	85 f6                	test   %esi,%esi
41cab2:	79 12                	jns    0x41cac6
41cab4:	68 04 8b 45 00       	push   $0x458b04
41cab9:	56                   	push   %esi
41caba:	e8 70 36 02 00       	call   0x44012f
41cabf:	59                   	pop    %ecx
41cac0:	59                   	pop    %ecx
41cac1:	e9 0e 01 00 00       	jmp    0x41cbd4
41cac6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41cac9:	85 c0                	test   %eax,%eax
41cacb:	74 71                	je     0x41cb3e
41cacd:	6a 01                	push   $0x1
41cacf:	c1 e0 02             	shl    $0x2,%eax
41cad2:	50                   	push   %eax
41cad3:	e8 fc 6d fe ff       	call   0x4038d4
41cad8:	8b d8                	mov    %eax,%ebx
41cada:	85 db                	test   %ebx,%ebx
41cadc:	75 1c                	jne    0x41cafa
41cade:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41cae3:	56                   	push   %esi
41cae4:	68 23 05 00 00       	push   $0x523
41cae9:	68 50 7a 45 00       	push   $0x457a50
41caee:	e8 e0 6c fe ff       	call   0x4037d3
41caf3:	68 24 8b 45 00       	push   $0x458b24
41caf8:	eb bf                	jmp    0x41cab9
41cafa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41cafd:	33 c0                	xor    %eax,%eax
41caff:	89 45 08             	mov    %eax,0x8(%ebp)
41cb02:	85 c9                	test   %ecx,%ecx
41cb04:	74 32                	je     0x41cb38
41cb06:	8b d3                	mov    %ebx,%edx
41cb08:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41cb0b:	52                   	push   %edx
41cb0c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cb0f:	50                   	push   %eax
41cb10:	ff 77 04             	push   0x4(%edi)
41cb13:	ff 77 0c             	push   0xc(%edi)
41cb16:	e8 74 2a 02 00       	call   0x43f58f
41cb1b:	8b f0                	mov    %eax,%esi
41cb1d:	8b 45 08             	mov    0x8(%ebp),%eax
41cb20:	85 f6                	test   %esi,%esi
41cb22:	78 3d                	js     0x41cb61
41cb24:	8b 55 f0             	mov    -0x10(%ebp),%edx
41cb27:	40                   	inc    %eax
41cb28:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41cb2b:	83 c2 04             	add    $0x4,%edx
41cb2e:	89 45 08             	mov    %eax,0x8(%ebp)
41cb31:	89 55 f0             	mov    %edx,-0x10(%ebp)
41cb34:	3b c1                	cmp    %ecx,%eax
41cb36:	72 d3                	jb     0x41cb0b
41cb38:	89 4d dc             	mov    %ecx,-0x24(%ebp)
41cb3b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41cb3e:	8d 45 d8             	lea    -0x28(%ebp),%eax
41cb41:	50                   	push   %eax
41cb42:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cb45:	50                   	push   %eax
41cb46:	ff 77 04             	push   0x4(%edi)
41cb49:	ff 77 0c             	push   0xc(%edi)
41cb4c:	e8 e3 29 02 00       	call   0x43f534
41cb51:	8b f0                	mov    %eax,%esi
41cb53:	85 f6                	test   %esi,%esi
41cb55:	79 1b                	jns    0x41cb72
41cb57:	68 6c 8b 45 00       	push   $0x458b6c
41cb5c:	e9 58 ff ff ff       	jmp    0x41cab9
41cb61:	50                   	push   %eax
41cb62:	68 50 8b 45 00       	push   $0x458b50
41cb67:	56                   	push   %esi
41cb68:	e8 c2 35 02 00       	call   0x44012f
41cb6d:	83 c4 0c             	add    $0xc,%esp
41cb70:	eb 62                	jmp    0x41cbd4
41cb72:	8b 07                	mov    (%edi),%eax
41cb74:	83 e8 15             	sub    $0x15,%eax
41cb77:	0f 84 1b 01 00 00    	je     0x41cc98
41cb7d:	83 e8 01             	sub    $0x1,%eax
41cb80:	0f 84 ba 00 00 00    	je     0x41cc40
41cb86:	83 e8 01             	sub    $0x1,%eax
41cb89:	0f 84 87 00 00 00    	je     0x41cc16
41cb8f:	83 e8 01             	sub    $0x1,%eax
41cb92:	74 1f                	je     0x41cbb3
41cb94:	be 57 00 07 80       	mov    $0x80070057,%esi
41cb99:	56                   	push   %esi
41cb9a:	68 5d 05 00 00       	push   $0x55d
41cb9f:	68 50 7a 45 00       	push   $0x457a50
41cba4:	e8 2a 6c fe ff       	call   0x4037d3
41cba9:	68 e8 8a 45 00       	push   $0x458ae8
41cbae:	e9 06 ff ff ff       	jmp    0x41cab9
41cbb3:	8b 45 f8             	mov    -0x8(%ebp),%eax
41cbb6:	c7 45 d4 04 00 00 00 	movl   $0x4,-0x2c(%ebp)
41cbbd:	89 45 e8             	mov    %eax,-0x18(%ebp)
41cbc0:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41cbc3:	8b 45 0c             	mov    0xc(%ebp),%eax
41cbc6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41cbc9:	ff 70 04             	push   0x4(%eax)
41cbcc:	51                   	push   %ecx
41cbcd:	ff 10                	call   *(%eax)
41cbcf:	8b 4d 10             	mov    0x10(%ebp),%ecx
41cbd2:	89 01                	mov    %eax,(%ecx)
41cbd4:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41cbd8:	74 08                	je     0x41cbe2
41cbda:	ff 75 f4             	push   -0xc(%ebp)
41cbdd:	e8 0d 89 02 00       	call   0x4454ef
41cbe2:	85 db                	test   %ebx,%ebx
41cbe4:	74 25                	je     0x41cc0b
41cbe6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41cbe9:	85 c0                	test   %eax,%eax
41cbeb:	74 18                	je     0x41cc05
41cbed:	33 ff                	xor    %edi,%edi
41cbef:	83 3c bb 00          	cmpl   $0x0,(%ebx,%edi,4)
41cbf3:	74 0b                	je     0x41cc00
41cbf5:	ff 34 bb             	push   (%ebx,%edi,4)
41cbf8:	e8 f2 88 02 00       	call   0x4454ef
41cbfd:	8b 45 f8             	mov    -0x8(%ebp),%eax
41cc00:	47                   	inc    %edi
41cc01:	3b f8                	cmp    %eax,%edi
41cc03:	72 ea                	jb     0x41cbef
41cc05:	53                   	push   %ebx
41cc06:	e8 8e 6d fe ff       	call   0x403999
41cc0b:	5f                   	pop    %edi
41cc0c:	8b c6                	mov    %esi,%eax
41cc0e:	5e                   	pop    %esi
41cc0f:	5b                   	pop    %ebx
41cc10:	8b e5                	mov    %ebp,%esp
41cc12:	5d                   	pop    %ebp
41cc13:	c2 0c 00             	ret    $0xc
41cc16:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cc19:	c7 45 d4 03 00 00 00 	movl   $0x3,-0x2c(%ebp)
41cc20:	50                   	push   %eax
41cc21:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cc24:	50                   	push   %eax
41cc25:	ff 77 04             	push   0x4(%edi)
41cc28:	ff 77 0c             	push   0xc(%edi)
41cc2b:	e8 04 29 02 00       	call   0x43f534
41cc30:	8b f0                	mov    %eax,%esi
41cc32:	85 f6                	test   %esi,%esi
41cc34:	79 34                	jns    0x41cc6a
41cc36:	68 a4 8b 45 00       	push   $0x458ba4
41cc3b:	e9 79 fe ff ff       	jmp    0x41cab9
41cc40:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cc43:	c7 45 d4 02 00 00 00 	movl   $0x2,-0x2c(%ebp)
41cc4a:	50                   	push   %eax
41cc4b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cc4e:	50                   	push   %eax
41cc4f:	ff 77 04             	push   0x4(%edi)
41cc52:	ff 77 0c             	push   0xc(%edi)
41cc55:	e8 da 28 02 00       	call   0x43f534
41cc5a:	8b f0                	mov    %eax,%esi
41cc5c:	85 f6                	test   %esi,%esi
41cc5e:	79 0a                	jns    0x41cc6a
41cc60:	68 4c 8a 45 00       	push   $0x458a4c
41cc65:	e9 4f fe ff ff       	jmp    0x41cab9
41cc6a:	8d 45 f4             	lea    -0xc(%ebp),%eax
41cc6d:	50                   	push   %eax
41cc6e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cc71:	50                   	push   %eax
41cc72:	ff 77 04             	push   0x4(%edi)
41cc75:	ff 77 0c             	push   0xc(%edi)
41cc78:	e8 12 29 02 00       	call   0x43f58f
41cc7d:	8b f0                	mov    %eax,%esi
41cc7f:	85 f6                	test   %esi,%esi
41cc81:	79 0a                	jns    0x41cc8d
41cc83:	68 68 8a 45 00       	push   $0x458a68
41cc88:	e9 2c fe ff ff       	jmp    0x41cab9
41cc8d:	8b 45 f4             	mov    -0xc(%ebp),%eax
41cc90:	89 45 ec             	mov    %eax,-0x14(%ebp)
41cc93:	e9 2b ff ff ff       	jmp    0x41cbc3
41cc98:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cc9b:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
41cca2:	50                   	push   %eax
41cca3:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cca6:	50                   	push   %eax
41cca7:	ff 77 04             	push   0x4(%edi)
41ccaa:	ff 77 0c             	push   0xc(%edi)
41ccad:	e8 82 28 02 00       	call   0x43f534
41ccb2:	8b f0                	mov    %eax,%esi
41ccb4:	85 f6                	test   %esi,%esi
41ccb6:	0f 89 07 ff ff ff    	jns    0x41cbc3
41ccbc:	68 88 8b 45 00       	push   $0x458b88
41ccc1:	e9 f3 fd ff ff       	jmp    0x41cab9
41ccc6:	55                   	push   %ebp
41ccc7:	8b ec                	mov    %esp,%ebp
41ccc9:	8b 45 08             	mov    0x8(%ebp),%eax
41cccc:	3d c2 0b 07 80       	cmp    $0x80070bc2,%eax
41ccd1:	75 0b                	jne    0x41ccde
41ccd3:	8b 45 0c             	mov    0xc(%ebp),%eax
41ccd6:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
41ccdc:	eb 10                	jmp    0x41ccee
41ccde:	3d 69 06 07 80       	cmp    $0x80070669,%eax
41cce3:	75 0b                	jne    0x41ccf0
41cce5:	8b 45 0c             	mov    0xc(%ebp),%eax
41cce8:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
41ccee:	33 c0                	xor    %eax,%eax
41ccf0:	5d                   	pop    %ebp
41ccf1:	c2 08 00             	ret    $0x8
41ccf4:	55                   	push   %ebp
41ccf5:	8b ec                	mov    %esp,%ebp
41ccf7:	51                   	push   %ecx
41ccf8:	56                   	push   %esi
41ccf9:	68 e0 93 04 00       	push   $0x493e0
41ccfe:	ff 75 08             	push   0x8(%ebp)
41cd01:	33 f6                	xor    %esi,%esi
41cd03:	89 75 fc             	mov    %esi,-0x4(%ebp)
41cd06:	ff 15 10 b2 44 00    	call   *0x44b210
41cd0c:	85 c0                	test   %eax,%eax
41cd0e:	74 35                	je     0x41cd45
41cd10:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41cd16:	0f b7 f0             	movzwl %ax,%esi
41cd19:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41cd1f:	85 c0                	test   %eax,%eax
41cd21:	0f 4e f0             	cmovle %eax,%esi
41cd24:	b8 05 40 00 80       	mov    $0x80004005,%eax
41cd29:	85 f6                	test   %esi,%esi
41cd2b:	0f 49 f0             	cmovns %eax,%esi
41cd2e:	56                   	push   %esi
41cd2f:	68 ac 04 00 00       	push   $0x4ac
41cd34:	68 50 7a 45 00       	push   $0x457a50
41cd39:	e8 95 6a fe ff       	call   0x4037d3
41cd3e:	68 a0 5e 45 00       	push   $0x455ea0
41cd43:	eb 44                	jmp    0x41cd89
41cd45:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cd48:	50                   	push   %eax
41cd49:	ff 75 08             	push   0x8(%ebp)
41cd4c:	ff 15 24 b2 44 00    	call   *0x44b224
41cd52:	85 c0                	test   %eax,%eax
41cd54:	75 3b                	jne    0x41cd91
41cd56:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41cd5c:	0f b7 f0             	movzwl %ax,%esi
41cd5f:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41cd65:	85 c0                	test   %eax,%eax
41cd67:	0f 4e f0             	cmovle %eax,%esi
41cd6a:	b8 05 40 00 80       	mov    $0x80004005,%eax
41cd6f:	85 f6                	test   %esi,%esi
41cd71:	0f 49 f0             	cmovns %eax,%esi
41cd74:	56                   	push   %esi
41cd75:	68 b1 04 00 00       	push   $0x4b1
41cd7a:	68 50 7a 45 00       	push   $0x457a50
41cd7f:	e8 4f 6a fe ff       	call   0x4037d3
41cd84:	68 d0 5e 45 00       	push   $0x455ed0
41cd89:	56                   	push   %esi
41cd8a:	e8 a0 33 02 00       	call   0x44012f
41cd8f:	59                   	pop    %ecx
41cd90:	59                   	pop    %ecx
41cd91:	8b c6                	mov    %esi,%eax
41cd93:	5e                   	pop    %esi
41cd94:	8b e5                	mov    %ebp,%esp
41cd96:	5d                   	pop    %ebp
41cd97:	c2 08 00             	ret    $0x8
41cd9a:	55                   	push   %ebp
41cd9b:	8b ec                	mov    %esp,%ebp
41cd9d:	83 ec 0c             	sub    $0xc,%esp
41cda0:	56                   	push   %esi
41cda1:	57                   	push   %edi
41cda2:	ff 75 10             	push   0x10(%ebp)
41cda5:	8d 45 f8             	lea    -0x8(%ebp),%eax
41cda8:	33 ff                	xor    %edi,%edi
41cdaa:	50                   	push   %eax
41cdab:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cdae:	89 7d fc             	mov    %edi,-0x4(%ebp)
41cdb1:	50                   	push   %eax
41cdb2:	89 7d f8             	mov    %edi,-0x8(%ebp)
41cdb5:	89 7d f4             	mov    %edi,-0xc(%ebp)
41cdb8:	e8 f5 29 02 00       	call   0x43f7b2
41cdbd:	8b f0                	mov    %eax,%esi
41cdbf:	85 f6                	test   %esi,%esi
41cdc1:	79 12                	jns    0x41cdd5
41cdc3:	68 0c 7b 45 00       	push   $0x457b0c
41cdc8:	56                   	push   %esi
41cdc9:	e8 61 33 02 00       	call   0x44012f
41cdce:	59                   	pop    %ecx
41cdcf:	59                   	pop    %ecx
41cdd0:	e9 81 00 00 00       	jmp    0x41ce56
41cdd5:	ff 75 14             	push   0x14(%ebp)
41cdd8:	8d 45 f8             	lea    -0x8(%ebp),%eax
41cddb:	50                   	push   %eax
41cddc:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cddf:	50                   	push   %eax
41cde0:	e8 cd 29 02 00       	call   0x43f7b2
41cde5:	8b f0                	mov    %eax,%esi
41cde7:	85 f6                	test   %esi,%esi
41cde9:	79 07                	jns    0x41cdf2
41cdeb:	68 38 7b 45 00       	push   $0x457b38
41cdf0:	eb d6                	jmp    0x41cdc8
41cdf2:	ff 75 18             	push   0x18(%ebp)
41cdf5:	8d 45 f8             	lea    -0x8(%ebp),%eax
41cdf8:	50                   	push   %eax
41cdf9:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cdfc:	50                   	push   %eax
41cdfd:	e8 b0 29 02 00       	call   0x43f7b2
41ce02:	8b f0                	mov    %eax,%esi
41ce04:	85 f6                	test   %esi,%esi
41ce06:	79 07                	jns    0x41ce0f
41ce08:	68 6c 7b 45 00       	push   $0x457b6c
41ce0d:	eb b9                	jmp    0x41cdc8
41ce0f:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ce12:	50                   	push   %eax
41ce13:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ce16:	50                   	push   %eax
41ce17:	57                   	push   %edi
41ce18:	ff 75 0c             	push   0xc(%ebp)
41ce1b:	e8 5c b0 fe ff       	call   0x407e7c
41ce20:	8b f0                	mov    %eax,%esi
41ce22:	85 f6                	test   %esi,%esi
41ce24:	79 07                	jns    0x41ce2d
41ce26:	68 ac 7b 45 00       	push   $0x457bac
41ce2b:	eb 9b                	jmp    0x41cdc8
41ce2d:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ce30:	50                   	push   %eax
41ce31:	57                   	push   %edi
41ce32:	57                   	push   %edi
41ce33:	ff 75 f8             	push   -0x8(%ebp)
41ce36:	ff 75 fc             	push   -0x4(%ebp)
41ce39:	6a 01                	push   $0x1
41ce3b:	ff 75 08             	push   0x8(%ebp)
41ce3e:	e8 42 83 ff ff       	call   0x415185
41ce43:	8b f0                	mov    %eax,%esi
41ce45:	85 f6                	test   %esi,%esi
41ce47:	79 0a                	jns    0x41ce53
41ce49:	68 c8 7b 45 00       	push   $0x457bc8
41ce4e:	e9 75 ff ff ff       	jmp    0x41cdc8
41ce53:	8b 75 f4             	mov    -0xc(%ebp),%esi
41ce56:	39 7d fc             	cmp    %edi,-0x4(%ebp)
41ce59:	74 08                	je     0x41ce63
41ce5b:	ff 75 fc             	push   -0x4(%ebp)
41ce5e:	e8 36 6b fe ff       	call   0x403999
41ce63:	5f                   	pop    %edi
41ce64:	8b c6                	mov    %esi,%eax
41ce66:	5e                   	pop    %esi
41ce67:	8b e5                	mov    %ebp,%esp
41ce69:	5d                   	pop    %ebp
41ce6a:	c2 14 00             	ret    $0x14
41ce6d:	55                   	push   %ebp
41ce6e:	8b ec                	mov    %esp,%ebp
41ce70:	51                   	push   %ecx
41ce71:	56                   	push   %esi
41ce72:	33 c9                	xor    %ecx,%ecx
41ce74:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ce77:	50                   	push   %eax
41ce78:	51                   	push   %ecx
41ce79:	51                   	push   %ecx
41ce7a:	51                   	push   %ecx
41ce7b:	51                   	push   %ecx
41ce7c:	6a 02                	push   $0x2
41ce7e:	ff 75 08             	push   0x8(%ebp)
41ce81:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41ce84:	e8 fc 82 ff ff       	call   0x415185
41ce89:	8b f0                	mov    %eax,%esi
41ce8b:	85 f6                	test   %esi,%esi
41ce8d:	79 0f                	jns    0x41ce9e
41ce8f:	68 c8 7b 45 00       	push   $0x457bc8
41ce94:	56                   	push   %esi
41ce95:	e8 95 32 02 00       	call   0x44012f