419eb3:	56                   	push   %esi
419eb4:	c6 46 1c 00          	movb   $0x0,0x1c(%esi)
419eb8:	e8 f1 08 00 00       	call   0x41a7ae
419ebd:	8b 0e                	mov    (%esi),%ecx
419ebf:	8b 55 a4             	mov    -0x5c(%ebp),%edx
419ec2:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
419ec6:	75 15                	jne    0x419edd
419ec8:	8b 41 08             	mov    0x8(%ecx),%eax
419ecb:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
419ecf:	75 29                	jne    0x419efa
419ed1:	8b 01                	mov    (%ecx),%eax
419ed3:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
419ed7:	75 21                	jne    0x419efa
419ed9:	c6 41 1c 00          	movb   $0x0,0x1c(%ecx)
419edd:	8b 42 04             	mov    0x4(%edx),%eax
419ee0:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
419ee3:	8b f9                	mov    %ecx,%edi
419ee5:	8b 76 04             	mov    0x4(%esi),%esi
419ee8:	3b 48 04             	cmp    0x4(%eax),%ecx
419eeb:	0f 85 2d ff ff ff    	jne    0x419e1e
419ef1:	8b 75 a4             	mov    -0x5c(%ebp),%esi
419ef4:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
419ef8:	eb 3d                	jmp    0x419f37
419efa:	8b 01                	mov    (%ecx),%eax
419efc:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
419f00:	75 15                	jne    0x419f17
419f02:	8b 41 08             	mov    0x8(%ecx),%eax
419f05:	51                   	push   %ecx
419f06:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
419f0a:	c6 41 1c 00          	movb   $0x0,0x1c(%ecx)
419f0e:	8b ca                	mov    %edx,%ecx
419f10:	e8 e2 08 00 00       	call   0x41a7f7
419f15:	8b 0e                	mov    (%esi),%ecx
419f17:	8a 46 1c             	mov    0x1c(%esi),%al
419f1a:	88 41 1c             	mov    %al,0x1c(%ecx)
419f1d:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
419f21:	8b 01                	mov    (%ecx),%eax
419f23:	56                   	push   %esi
419f24:	8b 75 a4             	mov    -0x5c(%ebp),%esi
419f27:	8b ce                	mov    %esi,%ecx
419f29:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
419f2d:	e8 7c 08 00 00       	call   0x41a7ae
419f32:	eb c0                	jmp    0x419ef4
419f34:	8b 75 a4             	mov    -0x5c(%ebp),%esi
419f37:	53                   	push   %ebx
419f38:	ff 15 10 74 4a 00    	call   *0x4a7410
419f3e:	59                   	pop    %ecx
419f3f:	8b 4e 08             	mov    0x8(%esi),%ecx
419f42:	85 c9                	test   %ecx,%ecx
419f44:	74 04                	je     0x419f4a
419f46:	49                   	dec    %ecx
419f47:	89 4e 08             	mov    %ecx,0x8(%esi)
419f4a:	8b 45 98             	mov    -0x68(%ebp),%eax
419f4d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
419f50:	89 08                	mov    %ecx,(%eax)
419f52:	e8 5e 65 07 00       	call   0x4904b5
419f57:	c2 08 00             	ret    $0x8
419f5a:	68 a4 f9 40 00       	push   $0x40f9a4
419f5f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
419f62:	e8 25 1f 00 00       	call   0x41be8c
419f67:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419f6b:	8d 45 d0             	lea    -0x30(%ebp),%eax
419f6e:	6a 00                	push   $0x0
419f70:	50                   	push   %eax
419f71:	8d 4d a8             	lea    -0x58(%ebp),%ecx
419f74:	e8 11 24 00 00       	call   0x41c38a
419f79:	68 20 eb 49 00       	push   $0x49eb20
419f7e:	8d 45 a8             	lea    -0x58(%ebp),%eax
419f81:	50                   	push   %eax
419f82:	e8 14 65 07 00       	call   0x49049b
419f87:	cc                   	int3
419f88:	8b ff                	mov    %edi,%edi
419f8a:	55                   	push   %ebp
419f8b:	8b ec                	mov    %esp,%ebp
419f8d:	83 ec 1c             	sub    $0x1c,%esp
419f90:	56                   	push   %esi
419f91:	8b 75 08             	mov    0x8(%ebp),%esi
419f94:	8d 45 f8             	lea    -0x8(%ebp),%eax
419f97:	57                   	push   %edi
419f98:	56                   	push   %esi
419f99:	50                   	push   %eax
419f9a:	8b f9                	mov    %ecx,%edi
419f9c:	e8 9d 08 00 00       	call   0x41a83e
419fa1:	8b 45 f8             	mov    -0x8(%ebp),%eax
419fa4:	3b 47 04             	cmp    0x4(%edi),%eax
419fa7:	74 07                	je     0x419fb0
419fa9:	8b 0e                	mov    (%esi),%ecx
419fab:	3b 48 0c             	cmp    0xc(%eax),%ecx
419fae:	7d 22                	jge    0x419fd2
419fb0:	8b 0e                	mov    (%esi),%ecx
419fb2:	89 4d e8             	mov    %ecx,-0x18(%ebp)
419fb5:	33 c9                	xor    %ecx,%ecx
419fb7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
419fba:	89 4d f0             	mov    %ecx,-0x10(%ebp)
419fbd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
419fc0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
419fc3:	51                   	push   %ecx
419fc4:	50                   	push   %eax
419fc5:	8d 45 f8             	lea    -0x8(%ebp),%eax
419fc8:	8b cf                	mov    %edi,%ecx
419fca:	50                   	push   %eax
419fcb:	e8 a1 08 00 00       	call   0x41a871
419fd0:	8b 00                	mov    (%eax),%eax
419fd2:	5f                   	pop    %edi
419fd3:	83 c0 10             	add    $0x10,%eax
419fd6:	5e                   	pop    %esi
419fd7:	c9                   	leave
419fd8:	c2 04 00             	ret    $0x4
419fdb:	8b ff                	mov    %edi,%edi
419fdd:	55                   	push   %ebp
419fde:	8b ec                	mov    %esp,%ebp
419fe0:	56                   	push   %esi
419fe1:	8b f1                	mov    %ecx,%esi
419fe3:	8b 4d 08             	mov    0x8(%ebp),%ecx
419fe6:	57                   	push   %edi
419fe7:	33 ff                	xor    %edi,%edi
419fe9:	33 c0                	xor    %eax,%eax
419feb:	c7 46 18 07 00 00 00 	movl   $0x7,0x18(%esi)
419ff2:	8d 51 02             	lea    0x2(%ecx),%edx
419ff5:	89 7e 14             	mov    %edi,0x14(%esi)
419ff8:	66 89 46 04          	mov    %ax,0x4(%esi)
419ffc:	66 8b 01             	mov    (%ecx),%ax
419fff:	83 c1 02             	add    $0x2,%ecx
41a002:	66 3b c7             	cmp    %di,%ax
41a005:	75 f5                	jne    0x419ffc
41a007:	2b ca                	sub    %edx,%ecx
41a009:	d1 f9                	sar    $1,%ecx
41a00b:	51                   	push   %ecx
41a00c:	ff 75 08             	push   0x8(%ebp)
41a00f:	8b ce                	mov    %esi,%ecx
41a011:	e8 0f 0d 00 00       	call   0x41ad25
41a016:	5f                   	pop    %edi
41a017:	8b c6                	mov    %esi,%eax
41a019:	5e                   	pop    %esi
41a01a:	5d                   	pop    %ebp
41a01b:	c2 04 00             	ret    $0x4
41a01e:	8b ff                	mov    %edi,%edi
41a020:	55                   	push   %ebp
41a021:	8b ec                	mov    %esp,%ebp
41a023:	56                   	push   %esi
41a024:	8b f1                	mov    %ecx,%esi
41a026:	33 c0                	xor    %eax,%eax
41a028:	6a ff                	push   $0xffffffff
41a02a:	50                   	push   %eax
41a02b:	ff 75 08             	push   0x8(%ebp)
41a02e:	83 66 14 00          	andl   $0x0,0x14(%esi)
41a032:	c7 46 18 07 00 00 00 	movl   $0x7,0x18(%esi)
41a039:	66 89 46 04          	mov    %ax,0x4(%esi)
41a03d:	e8 c9 26 00 00       	call   0x41c70b
41a042:	8b c6                	mov    %esi,%eax
41a044:	5e                   	pop    %esi
41a045:	5d                   	pop    %ebp
41a046:	c2 04 00             	ret    $0x4
41a049:	8b ff                	mov    %edi,%edi
41a04b:	56                   	push   %esi
41a04c:	8b f1                	mov    %ecx,%esi
41a04e:	8b 46 b4             	mov    -0x4c(%esi),%eax
41a051:	8d 4e b8             	lea    -0x48(%esi),%ecx
41a054:	8b 40 04             	mov    0x4(%eax),%eax
41a057:	c7 44 30 b4 d4 11 40 	movl   $0x4011d4,-0x4c(%eax,%esi,1)
41a05e:	00
41a05f:	e8 98 05 00 00       	call   0x41a5fc
41a064:	8b 46 b4             	mov    -0x4c(%esi),%eax
41a067:	8b 40 04             	mov    0x4(%eax),%eax
41a06a:	c7 44 30 b4 cc 11 40 	movl   $0x4011cc,-0x4c(%eax,%esi,1)
41a071:	00
41a072:	5e                   	pop    %esi
41a073:	c3                   	ret
41a074:	8b ff                	mov    %edi,%edi
41a076:	56                   	push   %esi
41a077:	8b f1                	mov    %ecx,%esi
41a079:	8b 46 b0             	mov    -0x50(%esi),%eax
41a07c:	8d 4e b8             	lea    -0x48(%esi),%ecx
41a07f:	8b 40 04             	mov    0x4(%eax),%eax
41a082:	c7 44 30 b0 c4 11 40 	movl   $0x4011c4,-0x50(%eax,%esi,1)
41a089:	00
41a08a:	e8 6d 05 00 00       	call   0x41a5fc
41a08f:	8b 46 b0             	mov    -0x50(%esi),%eax
41a092:	8b 40 04             	mov    0x4(%eax),%eax
41a095:	c7 44 30 b0 bc 11 40 	movl   $0x4011bc,-0x50(%eax,%esi,1)
41a09c:	00
41a09d:	5e                   	pop    %esi
41a09e:	c3                   	ret
41a09f:	6a 08                	push   $0x8
41a0a1:	b8 05 12 49 00       	mov    $0x491205,%eax
41a0a6:	e8 28 64 07 00       	call   0x4904d3
41a0ab:	8b f9                	mov    %ecx,%edi
41a0ad:	89 7d ec             	mov    %edi,-0x14(%ebp)
41a0b0:	33 c9                	xor    %ecx,%ecx
41a0b2:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41a0b5:	c7 07 2c fa 40 00    	movl   $0x40fa2c,(%edi)
41a0bb:	c7 47 50 fc 11 40 00 	movl   $0x4011fc,0x50(%edi)
41a0c2:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41a0c5:	8d 77 08             	lea    0x8(%edi),%esi
41a0c8:	8b 07                	mov    (%edi),%eax
41a0ca:	51                   	push   %ecx
41a0cb:	56                   	push   %esi
41a0cc:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
41a0d3:	8b 40 04             	mov    0x4(%eax),%eax
41a0d6:	c7 04 07 bc 11 40 00 	movl   $0x4011bc,(%edi,%eax,1)
41a0dd:	8b 07                	mov    (%edi),%eax
41a0df:	89 4f 04             	mov    %ecx,0x4(%edi)
41a0e2:	8b 48 04             	mov    0x4(%eax),%ecx
41a0e5:	03 cf                	add    %edi,%ecx
41a0e7:	e8 03 0e 00 00       	call   0x41aeef
41a0ec:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
41a0f3:	8b ce                	mov    %esi,%ecx
41a0f5:	8b 07                	mov    (%edi),%eax
41a0f7:	6a 01                	push   $0x1
41a0f9:	ff 75 08             	push   0x8(%ebp)
41a0fc:	8b 40 04             	mov    0x4(%eax),%eax
41a0ff:	c7 04 07 c4 11 40 00 	movl   $0x4011c4,(%edi,%eax,1)
41a106:	e8 1f 09 00 00       	call   0x41aa2a
41a10b:	8b c7                	mov    %edi,%eax
41a10d:	e8 8f 63 07 00       	call   0x4904a1
41a112:	c2 0c 00             	ret    $0xc
41a115:	cc                   	int3
41a116:	cc                   	int3
41a117:	cc                   	int3
41a118:	cc                   	int3
41a119:	cc                   	int3
41a11a:	cc                   	int3
41a11b:	cc                   	int3
41a11c:	cc                   	int3
41a11d:	cc                   	int3
41a11e:	cc                   	int3
41a11f:	cc                   	int3
41a120:	8b ff                	mov    %edi,%edi
41a122:	55                   	push   %ebp
41a123:	8b ec                	mov    %esp,%ebp
41a125:	56                   	push   %esi
41a126:	8b f1                	mov    %ecx,%esi
41a128:	57                   	push   %edi
41a129:	8b 7d 14             	mov    0x14(%ebp),%edi
41a12c:	03 7d 0c             	add    0xc(%ebp),%edi
41a12f:	8b 4e 24             	mov    0x24(%esi),%ecx
41a132:	8b 01                	mov    (%ecx),%eax
41a134:	85 c0                	test   %eax,%eax
41a136:	74 08                	je     0x41a140
41a138:	39 46 3c             	cmp    %eax,0x3c(%esi)
41a13b:	73 03                	jae    0x41a140
41a13d:	89 46 3c             	mov    %eax,0x3c(%esi)
41a140:	83 ff ff             	cmp    $0xffffffff,%edi
41a143:	0f 84 9c 00 00 00    	je     0x41a1e5
41a149:	f6 45 24 01          	testb  $0x1,0x24(%ebp)
41a14d:	53                   	push   %ebx
41a14e:	74 5d                	je     0x41a1ad
41a150:	8b 46 20             	mov    0x20(%esi),%eax
41a153:	8b 18                	mov    (%eax),%ebx
41a155:	85 db                	test   %ebx,%ebx
41a157:	74 54                	je     0x41a1ad
41a159:	85 ff                	test   %edi,%edi
41a15b:	0f 88 80 00 00 00    	js     0x41a1e1
41a161:	8b 46 10             	mov    0x10(%esi),%eax
41a164:	8b 10                	mov    (%eax),%edx
41a166:	8b 46 3c             	mov    0x3c(%esi),%eax
41a169:	2b c2                	sub    %edx,%eax
41a16b:	d1 f8                	sar    $1,%eax
41a16d:	3b f8                	cmp    %eax,%edi
41a16f:	7f 70                	jg     0x41a1e1
41a171:	8b 46 30             	mov    0x30(%esi),%eax
41a174:	2b d3                	sub    %ebx,%edx
41a176:	d1 fa                	sar    $1,%edx
41a178:	03 d7                	add    %edi,%edx
41a17a:	29 10                	sub    %edx,(%eax)
41a17c:	8b 4e 20             	mov    0x20(%esi),%ecx
41a17f:	8d 04 12             	lea    (%edx,%edx,1),%eax
41a182:	01 01                	add    %eax,(%ecx)
41a184:	f6 45 24 02          	testb  $0x2,0x24(%ebp)
41a188:	74 5a                	je     0x41a1e4
41a18a:	8b 5e 24             	mov    0x24(%esi),%ebx
41a18d:	8b 0b                	mov    (%ebx),%ecx
41a18f:	85 c9                	test   %ecx,%ecx
41a191:	74 51                	je     0x41a1e4
41a193:	8b 46 20             	mov    0x20(%esi),%eax
41a196:	8b 10                	mov    (%eax),%edx
41a198:	8b 46 34             	mov    0x34(%esi),%eax
41a19b:	8b 00                	mov    (%eax),%eax
41a19d:	89 13                	mov    %edx,(%ebx)
41a19f:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
41a1a2:	8b 46 34             	mov    0x34(%esi),%eax
41a1a5:	2b ca                	sub    %edx,%ecx
41a1a7:	d1 f9                	sar    $1,%ecx
41a1a9:	89 08                	mov    %ecx,(%eax)
41a1ab:	eb 37                	jmp    0x41a1e4
41a1ad:	f6 45 24 02          	testb  $0x2,0x24(%ebp)
41a1b1:	74 2e                	je     0x41a1e1
41a1b3:	83 39 00             	cmpl   $0x0,(%ecx)
41a1b6:	74 29                	je     0x41a1e1
41a1b8:	85 ff                	test   %edi,%edi
41a1ba:	78 25                	js     0x41a1e1
41a1bc:	8b 46 10             	mov    0x10(%esi),%eax
41a1bf:	8b 10                	mov    (%eax),%edx
41a1c1:	8b 46 3c             	mov    0x3c(%esi),%eax
41a1c4:	2b c2                	sub    %edx,%eax
41a1c6:	d1 f8                	sar    $1,%eax
41a1c8:	3b f8                	cmp    %eax,%edi
41a1ca:	7f 15                	jg     0x41a1e1
41a1cc:	2b 11                	sub    (%ecx),%edx
41a1ce:	8b 46 34             	mov    0x34(%esi),%eax
41a1d1:	d1 fa                	sar    $1,%edx
41a1d3:	03 d7                	add    %edi,%edx
41a1d5:	29 10                	sub    %edx,(%eax)
41a1d7:	8b 4e 24             	mov    0x24(%esi),%ecx
41a1da:	8d 04 12             	lea    (%edx,%edx,1),%eax
41a1dd:	01 01                	add    %eax,(%ecx)
41a1df:	eb 03                	jmp    0x41a1e4
41a1e1:	83 cf ff             	or     $0xffffffff,%edi
41a1e4:	5b                   	pop    %ebx
41a1e5:	8b 45 08             	mov    0x8(%ebp),%eax
41a1e8:	33 c9                	xor    %ecx,%ecx
41a1ea:	89 38                	mov    %edi,(%eax)
41a1ec:	5f                   	pop    %edi
41a1ed:	89 48 08             	mov    %ecx,0x8(%eax)
41a1f0:	89 48 0c             	mov    %ecx,0xc(%eax)
41a1f3:	89 48 10             	mov    %ecx,0x10(%eax)
41a1f6:	5e                   	pop    %esi
41a1f7:	5d                   	pop    %ebp
41a1f8:	c2 20 00             	ret    $0x20
41a1fb:	cc                   	int3
41a1fc:	cc                   	int3
41a1fd:	cc                   	int3
41a1fe:	cc                   	int3
41a1ff:	cc                   	int3
41a200:	8b ff                	mov    %edi,%edi
41a202:	55                   	push   %ebp
41a203:	8b ec                	mov    %esp,%ebp
41a205:	51                   	push   %ecx
41a206:	53                   	push   %ebx
41a207:	56                   	push   %esi
41a208:	57                   	push   %edi
41a209:	8b f9                	mov    %ecx,%edi
41a20b:	8b 4f 24             	mov    0x24(%edi),%ecx
41a20e:	8b 01                	mov    (%ecx),%eax
41a210:	85 c0                	test   %eax,%eax
41a212:	74 08                	je     0x41a21c
41a214:	39 47 3c             	cmp    %eax,0x3c(%edi)
41a217:	73 03                	jae    0x41a21c
41a219:	89 47 3c             	mov    %eax,0x3c(%edi)
41a21c:	8b 5d 14             	mov    0x14(%ebp),%ebx
41a21f:	f6 c3 01             	test   $0x1,%bl
41a222:	0f 84 a3 00 00 00    	je     0x41a2cb
41a228:	8b 47 20             	mov    0x20(%edi),%eax
41a22b:	8b 10                	mov    (%eax),%edx
41a22d:	89 55 fc             	mov    %edx,-0x4(%ebp)
41a230:	85 d2                	test   %edx,%edx
41a232:	0f 84 93 00 00 00    	je     0x41a2cb
41a238:	8b 45 10             	mov    0x10(%ebp),%eax
41a23b:	83 f8 02             	cmp    $0x2,%eax
41a23e:	75 05                	jne    0x41a245