4519cb:	8b 4e 24             	mov    0x24(%esi),%ecx
4519ce:	50                   	push   %eax
4519cf:	ff 15 2c 81 4a 00    	call   *0x4a812c
4519d5:	ff 56 24             	call   *0x24(%esi)
4519d8:	5e                   	pop    %esi
4519d9:	5d                   	pop    %ebp
4519da:	c2 0c 00             	ret    $0xc
4519dd:	8b ff                	mov    %edi,%edi
4519df:	55                   	push   %ebp
4519e0:	8b ec                	mov    %esp,%ebp
4519e2:	8b 91 d0 00 00 00    	mov    0xd0(%ecx),%edx
4519e8:	56                   	push   %esi
4519e9:	8b 75 08             	mov    0x8(%ebp),%esi
4519ec:	0f ab f2             	bts    %esi,%edx
4519ef:	89 91 d0 00 00 00    	mov    %edx,0xd0(%ecx)
4519f5:	83 fe 01             	cmp    $0x1,%esi
4519f8:	75 05                	jne    0x4519ff
4519fa:	83 e2 fb             	and    $0xfffffffb,%edx
4519fd:	eb 26                	jmp    0x451a25
4519ff:	8b c2                	mov    %edx,%eax
451a01:	83 fe 02             	cmp    $0x2,%esi
451a04:	75 09                	jne    0x451a0f
451a06:	83 e0 fd             	and    $0xfffffffd,%eax
451a09:	89 81 d0 00 00 00    	mov    %eax,0xd0(%ecx)
451a0f:	8b d0                	mov    %eax,%edx
451a11:	83 fe 03             	cmp    $0x3,%esi
451a14:	75 05                	jne    0x451a1b
451a16:	83 e2 ef             	and    $0xffffffef,%edx
451a19:	eb 0a                	jmp    0x451a25
451a1b:	83 fe 04             	cmp    $0x4,%esi
451a1e:	75 0b                	jne    0x451a2b
451a20:	8b d0                	mov    %eax,%edx
451a22:	83 e2 f7             	and    $0xfffffff7,%edx
451a25:	89 91 d0 00 00 00    	mov    %edx,0xd0(%ecx)
451a2b:	8b 81 c8 00 00 00    	mov    0xc8(%ecx),%eax
451a31:	52                   	push   %edx
451a32:	50                   	push   %eax
451a33:	8b 08                	mov    (%eax),%ecx
451a35:	8b 71 2c             	mov    0x2c(%ecx),%esi
451a38:	8b ce                	mov    %esi,%ecx
451a3a:	ff 15 2c 81 4a 00    	call   *0x4a812c
451a40:	ff d6                	call   *%esi
451a42:	5e                   	pop    %esi
451a43:	5d                   	pop    %ebp
451a44:	c2 04 00             	ret    $0x4
451a47:	8b 81 c8 00 00 00    	mov    0xc8(%ecx),%eax
451a4d:	83 a1 d4 00 00 00 fe 	andl   $0xfffffffe,0xd4(%ecx)
451a54:	56                   	push   %esi
451a55:	68 58 f6 40 00       	push   $0x40f658
451a5a:	8b 30                	mov    (%eax),%esi
451a5c:	6a 04                	push   $0x4
451a5e:	68 d8 59 00 00       	push   $0x59d8
451a63:	50                   	push   %eax
451a64:	8b 4e 24             	mov    0x24(%esi),%ecx
451a67:	ff 15 2c 81 4a 00    	call   *0x4a812c
451a6d:	ff 56 24             	call   *0x24(%esi)
451a70:	5e                   	pop    %esi
451a71:	c2 04 00             	ret    $0x4
451a74:	68 0c 02 00 00       	push   $0x20c
451a79:	b8 6a 3b 49 00       	mov    $0x493b6a,%eax
451a7e:	e8 83 ea 03 00       	call   0x490506
451a83:	be ac 00 00 00       	mov    $0xac,%esi
451a88:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
451a8e:	56                   	push   %esi
451a8f:	33 db                	xor    %ebx,%ebx
451a91:	53                   	push   %ebx
451a92:	50                   	push   %eax
451a93:	e8 a1 f5 03 00       	call   0x491039
451a98:	56                   	push   %esi
451a99:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
451a9f:	53                   	push   %ebx
451aa0:	50                   	push   %eax
451aa1:	e8 93 f5 03 00       	call   0x491039
451aa6:	56                   	push   %esi
451aa7:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
451aad:	53                   	push   %ebx
451aae:	50                   	push   %eax
451aaf:	e8 85 f5 03 00       	call   0x491039
451ab4:	83 c4 24             	add    $0x24,%esp
451ab7:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
451abd:	bf 00 04 00 00       	mov    $0x400,%edi
451ac2:	6a 56                	push   $0x56
451ac4:	5e                   	pop    %esi
451ac5:	56                   	push   %esi
451ac6:	50                   	push   %eax
451ac7:	68 01 10 00 00       	push   $0x1001
451acc:	57                   	push   %edi
451acd:	ff 15 1c 72 4a 00    	call   *0x4a721c
451ad3:	85 c0                	test   %eax,%eax
451ad5:	0f 84 d2 00 00 00    	je     0x451bad
451adb:	56                   	push   %esi
451adc:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
451ae2:	50                   	push   %eax
451ae3:	68 02 10 00 00       	push   $0x1002
451ae8:	57                   	push   %edi
451ae9:	ff 15 1c 72 4a 00    	call   *0x4a721c
451aef:	85 c0                	test   %eax,%eax
451af1:	0f 84 b6 00 00 00    	je     0x451bad
451af7:	56                   	push   %esi
451af8:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
451afe:	50                   	push   %eax
451aff:	68 04 10 00 00       	push   $0x1004
451b04:	57                   	push   %edi
451b05:	ff 15 1c 72 4a 00    	call   *0x4a721c
451b0b:	85 c0                	test   %eax,%eax
451b0d:	75 19                	jne    0x451b28
451b0f:	56                   	push   %esi
451b10:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
451b16:	50                   	push   %eax
451b17:	6a 0b                	push   $0xb
451b19:	57                   	push   %edi
451b1a:	ff 15 1c 72 4a 00    	call   *0x4a721c
451b20:	85 c0                	test   %eax,%eax
451b22:	0f 84 85 00 00 00    	je     0x451bad
451b28:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
451b2e:	ff 15 20 74 4a 00    	call   *0x4a7420
451b34:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
451b3a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
451b3d:	50                   	push   %eax
451b3e:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
451b44:	ff 15 64 75 4a 00    	call   *0x4a7564
451b4a:	68 24 05 41 00       	push   $0x410524
451b4f:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
451b55:	ff 15 70 7a 4a 00    	call   *0x4a7a70
451b5b:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
451b61:	50                   	push   %eax
451b62:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
451b68:	ff 15 70 7a 4a 00    	call   *0x4a7a70
451b6e:	68 6c fc 40 00       	push   $0x40fc6c
451b73:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
451b79:	ff 15 70 7a 4a 00    	call   *0x4a7a70
451b7f:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
451b85:	50                   	push   %eax
451b86:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
451b8c:	ff 15 70 7a 4a 00    	call   *0x4a7a70
451b92:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
451b98:	53                   	push   %ebx
451b99:	ff 15 7c 80 4a 00    	call   *0x4a807c
451b9f:	59                   	pop    %ecx
451ba0:	59                   	pop    %ecx
451ba1:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
451ba7:	ff 15 1c 74 4a 00    	call   *0x4a741c
451bad:	e8 03 e9 03 00       	call   0x4904b5
451bb2:	c3                   	ret
451bb3:	8b ff                	mov    %edi,%edi
451bb5:	55                   	push   %ebp
451bb6:	8b ec                	mov    %esp,%ebp
451bb8:	83 e4 f8             	and    $0xfffffff8,%esp
451bbb:	51                   	push   %ecx
451bbc:	53                   	push   %ebx
451bbd:	56                   	push   %esi
451bbe:	8b 75 08             	mov    0x8(%ebp),%esi
451bc1:	33 c0                	xor    %eax,%eax
451bc3:	57                   	push   %edi
451bc4:	8b f9                	mov    %ecx,%edi
451bc6:	66 39 06             	cmp    %ax,(%esi)
451bc9:	74 4e                	je     0x451c19
451bcb:	8b ce                	mov    %esi,%ecx
451bcd:	e8 8c f3 01 00       	call   0x470f5e
451bd2:	85 c0                	test   %eax,%eax
451bd4:	74 43                	je     0x451c19
451bd6:	8d 9f 14 04 00 00    	lea    0x414(%edi),%ebx
451bdc:	ba fd 00 00 00       	mov    $0xfd,%edx
451be1:	56                   	push   %esi
451be2:	8b cb                	mov    %ebx,%ecx
451be4:	e8 c3 5b fc ff       	call   0x4177ac
451be9:	85 c0                	test   %eax,%eax
451beb:	78 2c                	js     0x451c19
451bed:	8d b7 78 06 00 00    	lea    0x678(%edi),%esi
451bf3:	c7 87 10 04 00 00 02 	movl   $0x2,0x410(%edi)
451bfa:	00 00 00
451bfd:	56                   	push   %esi
451bfe:	ba 30 1c 45 00       	mov    $0x451c30,%edx
451c03:	8b cb                	mov    %ebx,%ecx
451c05:	e8 6b f9 01 00       	call   0x471575
451c0a:	85 c0                	test   %eax,%eax
451c0c:	79 07                	jns    0x451c15
451c0e:	83 26 00             	andl   $0x0,(%esi)
451c11:	83 66 04 00          	andl   $0x0,0x4(%esi)
451c15:	b0 01                	mov    $0x1,%al
451c17:	eb 02                	jmp    0x451c1b
451c19:	32 c0                	xor    %al,%al
451c1b:	5f                   	pop    %edi
451c1c:	5e                   	pop    %esi
451c1d:	5b                   	pop    %ebx
451c1e:	8b e5                	mov    %ebp,%esp
451c20:	5d                   	pop    %ebp
451c21:	c2 04 00             	ret    $0x4
451c24:	cc                   	int3
451c25:	cc                   	int3
451c26:	cc                   	int3
451c27:	cc                   	int3
451c28:	cc                   	int3
451c29:	cc                   	int3
451c2a:	cc                   	int3
451c2b:	cc                   	int3
451c2c:	cc                   	int3
451c2d:	cc                   	int3
451c2e:	cc                   	int3
451c2f:	cc                   	int3
451c30:	83 3d f0 59 4a 00 02 	cmpl   $0x2,0x4a59f0
451c37:	75 24                	jne    0x451c5d
451c39:	66 83 3d f4 59 4a 00 	cmpw   $0x0,0x4a59f4
451c40:	00
451c41:	74 1a                	je     0x451c5d
451c43:	e8 ed e6 fc ff       	call   0x420335
451c48:	6a 00                	push   $0x0
451c4a:	68 41 e1 00 00       	push   $0xe141
451c4f:	68 11 01 00 00       	push   $0x111
451c54:	ff 70 20             	push   0x20(%eax)
451c57:	ff 15 d4 7c 4a 00    	call   *0x4a7cd4
451c5d:	c3                   	ret
451c5e:	8b ff                	mov    %edi,%edi
451c60:	55                   	push   %ebp
451c61:	8b ec                	mov    %esp,%ebp
451c63:	83 e4 f8             	and    $0xfffffff8,%esp
451c66:	56                   	push   %esi
451c67:	57                   	push   %edi
451c68:	8b 7d 08             	mov    0x8(%ebp),%edi
451c6b:	8b f1                	mov    %ecx,%esi
451c6d:	83 ff 05             	cmp    $0x5,%edi
451c70:	0f 84 85 00 00 00    	je     0x451cfb
451c76:	e8 8d fc 01 00       	call   0x471908
451c7b:	85 c0                	test   %eax,%eax
451c7d:	74 7c                	je     0x451cfb
451c7f:	8b 86 10 04 00 00    	mov    0x410(%esi),%eax
451c85:	3b f8                	cmp    %eax,%edi
451c87:	0f 84 86 00 00 00    	je     0x451d13
451c8d:	83 f8 02             	cmp    $0x2,%eax
451c90:	75 61                	jne    0x451cf3
451c92:	e8 54 f3 01 00       	call   0x470feb
451c97:	85 c0                	test   %eax,%eax
451c99:	79 2b                	jns    0x451cc6
451c9b:	ba f2 c4 00 00       	mov    $0xc4f2,%edx
451ca0:	6a 10                	push   $0x10
451ca2:	8d 4a 01             	lea    0x1(%edx),%ecx
451ca5:	e8 fa e5 fc ff       	call   0x4202a4
451caa:	e8 86 e6 fc ff       	call   0x420335
451caf:	6a 00                	push   $0x0
451cb1:	68 41 e1 00 00       	push   $0xe141
451cb6:	68 11 01 00 00       	push   $0x111
451cbb:	ff 70 20             	push   0x20(%eax)
451cbe:	ff 15 d4 7c 4a 00    	call   *0x4a7cd4
451cc4:	eb 2d                	jmp    0x451cf3
451cc6:	8b 86 78 06 00 00    	mov    0x678(%esi),%eax
451ccc:	0b 86 7c 06 00 00    	or     0x67c(%esi),%eax
451cd2:	74 1f                	je     0x451cf3
451cd4:	ff b6 7c 06 00 00    	push   0x67c(%esi)
451cda:	ff b6 78 06 00 00    	push   0x678(%esi)
451ce0:	e8 29 fb 01 00       	call   0x47180e
451ce5:	83 a6 78 06 00 00 00 	andl   $0x0,0x678(%esi)
451cec:	83 a6 7c 06 00 00 00 	andl   $0x0,0x67c(%esi)
451cf3:	89 be 10 04 00 00    	mov    %edi,0x410(%esi)
451cf9:	eb 18                	jmp    0x451d13
451cfb:	83 a6 78 06 00 00 00 	andl   $0x0,0x678(%esi)
451d02:	83 a6 7c 06 00 00 00 	andl   $0x0,0x67c(%esi)
451d09:	c7 86 10 04 00 00 05 	movl   $0x5,0x410(%esi)
451d10:	00 00 00
451d13:	33 c0                	xor    %eax,%eax
451d15:	5f                   	pop    %edi
451d16:	66 89 86 14 04 00 00 	mov    %ax,0x414(%esi)
451d1d:	5e                   	pop    %esi
451d1e:	8b e5                	mov    %ebp,%esp
451d20:	5d                   	pop    %ebp
451d21:	c2 04 00             	ret    $0x4
451d24:	6a 24                	push   $0x24
451d26:	b8 9a 3b 49 00       	mov    $0x493b9a,%eax
451d2b:	e8 42 e8 03 00       	call   0x490572
451d30:	8b f1                	mov    %ecx,%esi
451d32:	33 ff                	xor    %edi,%edi
451d34:	33 c0                	xor    %eax,%eax
451d36:	89 7d fc             	mov    %edi,-0x4(%ebp)
451d39:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
451d40:	89 7d e4             	mov    %edi,-0x1c(%ebp)
451d43:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
451d47:	8d 45 d0             	lea    -0x30(%ebp),%eax
451d4a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
451d4e:	50                   	push   %eax
451d4f:	e8 c5 00 00 00       	call   0x451e19
451d54:	84 c0                	test   %al,%al
451d56:	75 16                	jne    0x451d6e
451d58:	e8 d1 60 02 00       	call   0x477e2e
451d5d:	57                   	push   %edi
451d5e:	6a 01                	push   $0x1
451d60:	8d 4d d0             	lea    -0x30(%ebp),%ecx
451d63:	e8 5c aa fc ff       	call   0x41c7c4
451d68:	e8 57 e7 03 00       	call   0x4904c4
451d6d:	c3                   	ret
451d6e:	e8 64 01 00 00       	call   0x451ed7
451d73:	84 c0                	test   %al,%al
451d75:	75 07                	jne    0x451d7e
451d77:	e8 19 61 02 00       	call   0x477e95
451d7c:	eb df                	jmp    0x451d5d
451d7e:	e8 79 61 02 00       	call   0x477efc
451d83:	8d 45 d0             	lea    -0x30(%ebp),%eax
451d86:	8b ce                	mov    %esi,%ecx
451d88:	50                   	push   %eax
451d89:	e8 40 09 00 00       	call   0x4526ce
451d8e:	8b c8                	mov    %eax,%ecx
451d90:	e8 35 62 02 00       	call   0x477fca
451d95:	eb c6                	jmp    0x451d5d
451d97:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
451d9c:	e8 29 62 02 00       	call   0x477fca
451da1:	b8 68 1d 45 00       	mov    $0x451d68,%eax
451da6:	c3                   	ret
451da7:	8b ff                	mov    %edi,%edi
451da9:	56                   	push   %esi
451daa:	8b f1                	mov    %ecx,%esi
451dac:	0f b7 06             	movzwl (%esi),%eax
451daf:	66 85 c0             	test   %ax,%ax
451db2:	74 33                	je     0x451de7
451db4:	8b c8                	mov    %eax,%ecx
451db6:	66 83 f9 2d          	cmp    $0x2d,%cx
451dba:	74 06                	je     0x451dc2
451dbc:	66 83 f9 2f          	cmp    $0x2f,%cx
451dc0:	75 18                	jne    0x451dda
451dc2:	6a 15                	push   $0x15
451dc4:	8d 46 02             	lea    0x2(%esi),%eax
451dc7:	50                   	push   %eax
451dc8:	68 28 05 41 00       	push   $0x410528
451dcd:	ff 15 78 80 4a 00    	call   *0x4a8078
451dd3:	83 c4 0c             	add    $0xc,%esp
451dd6:	85 c0                	test   %eax,%eax
451dd8:	74 11                	je     0x451deb
451dda:	83 c6 02             	add    $0x2,%esi
451ddd:	0f b7 06             	movzwl (%esi),%eax
451de0:	8b c8                	mov    %eax,%ecx
451de2:	66 85 c0             	test   %ax,%ax
451de5:	75 cf                	jne    0x451db6
451de7:	33 c0                	xor    %eax,%eax
451de9:	5e                   	pop    %esi
451dea:	c3                   	ret
451deb:	8b ce                	mov    %esi,%ecx
451ded:	8d 51 02             	lea    0x2(%ecx),%edx
451df0:	66 8b 01             	mov    (%ecx),%ax
451df3:	83 c1 02             	add    $0x2,%ecx
451df6:	66 85 c0             	test   %ax,%ax
451df9:	75 f5                	jne    0x451df0
451dfb:	2b ca                	sub    %edx,%ecx
451dfd:	d1 f9                	sar    $1,%ecx
451dff:	8d 04 4d d6 ff ff ff 	lea    -0x2a(,%ecx,2),%eax
451e06:	50                   	push   %eax
451e07:	8d 46 2c             	lea    0x2c(%esi),%eax
451e0a:	50                   	push   %eax
451e0b:	56                   	push   %esi
451e0c:	e8 22 f2 03 00       	call   0x491033
451e11:	83 c4 0c             	add    $0xc,%esp
451e14:	33 c0                	xor    %eax,%eax
451e16:	40                   	inc    %eax
451e17:	5e                   	pop    %esi