411b89:	75 f5                	jne    0x411b80
411b8b:	8b 47 14             	mov    0x14(%edi),%eax
411b8e:	2b ca                	sub    %edx,%ecx
411b90:	d1 f9                	sar    $1,%ecx
411b92:	3b c8                	cmp    %eax,%ecx
411b94:	77 28                	ja     0x411bbe
411b96:	8b df                	mov    %edi,%ebx
411b98:	83 f8 08             	cmp    $0x8,%eax
411b9b:	72 02                	jb     0x411b9f
411b9d:	8b 1f                	mov    (%edi),%ebx
411b9f:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
411ba2:	89 4f 10             	mov    %ecx,0x10(%edi)
411ba5:	56                   	push   %esi
411ba6:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
411bac:	50                   	push   %eax
411bad:	53                   	push   %ebx
411bae:	e8 9d b8 00 00       	call   0x41d450
411bb3:	83 c4 0c             	add    $0xc,%esp
411bb6:	33 c0                	xor    %eax,%eax
411bb8:	66 89 04 33          	mov    %ax,(%ebx,%esi,1)
411bbc:	eb 1c                	jmp    0x411bda
411bbe:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
411bc4:	c6 85 e4 fd ff ff 00 	movb   $0x0,-0x21c(%ebp)
411bcb:	50                   	push   %eax
411bcc:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
411bd2:	51                   	push   %ecx
411bd3:	8b cf                	mov    %edi,%ecx
411bd5:	e8 36 0a ff ff       	call   0x402610
411bda:	8b 57 14             	mov    0x14(%edi),%edx
411bdd:	8b c2                	mov    %edx,%eax
411bdf:	8b 4f 10             	mov    0x10(%edi),%ecx
411be2:	2b c1                	sub    %ecx,%eax
411be4:	83 f8 1b             	cmp    $0x1b,%eax
411be7:	72 19                	jb     0x411c02
411be9:	8d 71 1b             	lea    0x1b(%ecx),%esi
411bec:	89 77 10             	mov    %esi,0x10(%edi)
411bef:	83 fa 08             	cmp    $0x8,%edx
411bf2:	72 02                	jb     0x411bf6
411bf4:	8b 3f                	mov    (%edi),%edi
411bf6:	6a 36                	push   $0x36
411bf8:	68 18 e5 44 00       	push   $0x44e518
411bfd:	e9 49 fc ff ff       	jmp    0x41184b
411c02:	6a 1b                	push   $0x1b
411c04:	68 18 e5 44 00       	push   $0x44e518
411c09:	c6 85 e4 fd ff ff 00 	movb   $0x0,-0x21c(%ebp)
411c10:	8b cf                	mov    %edi,%ecx
411c12:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
411c18:	6a 1b                	push   $0x1b
411c1a:	e8 21 0b ff ff       	call   0x402740
411c1f:	b0 01                	mov    $0x1,%al
411c21:	5f                   	pop    %edi
411c22:	5e                   	pop    %esi
411c23:	5b                   	pop    %ebx
411c24:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411c27:	33 cd                	xor    %ebp,%ecx
411c29:	e8 a2 9c 00 00       	call   0x41b8d0
411c2e:	8b e5                	mov    %ebp,%esp
411c30:	5d                   	pop    %ebp
411c31:	c3                   	ret
411c32:	8b cf                	mov    %edi,%ecx
411c34:	e8 57 f7 ff ff       	call   0x411390
411c39:	5f                   	pop    %edi
411c3a:	5e                   	pop    %esi
411c3b:	5b                   	pop    %ebx
411c3c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411c3f:	33 cd                	xor    %ebp,%ecx
411c41:	e8 8a 9c 00 00       	call   0x41b8d0
411c46:	8b e5                	mov    %ebp,%esp
411c48:	5d                   	pop    %ebp
411c49:	c3                   	ret
411c4a:	8b cf                	mov    %edi,%ecx
411c4c:	e8 0f f5 ff ff       	call   0x411160
411c51:	5f                   	pop    %edi
411c52:	5e                   	pop    %esi
411c53:	5b                   	pop    %ebx
411c54:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411c57:	33 cd                	xor    %ebp,%ecx
411c59:	e8 72 9c 00 00       	call   0x41b8d0
411c5e:	8b e5                	mov    %ebp,%esp
411c60:	5d                   	pop    %ebp
411c61:	c3                   	ret
411c62:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411c65:	32 c0                	xor    %al,%al
411c67:	5f                   	pop    %edi
411c68:	5e                   	pop    %esi
411c69:	33 cd                	xor    %ebp,%ecx
411c6b:	5b                   	pop    %ebx
411c6c:	e8 5f 9c 00 00       	call   0x41b8d0
411c71:	8b e5                	mov    %ebp,%esp
411c73:	5d                   	pop    %ebp
411c74:	c3                   	ret
411c75:	0f 1f 00             	nopl   (%eax)
411c78:	38 14 41             	cmp    %dl,(%ecx,%eax,2)
411c7b:	00 57 14             	add    %dl,0x14(%edi)
411c7e:	41                   	inc    %ecx
411c7f:	00 76 14             	add    %dh,0x14(%esi)
411c82:	41                   	inc    %ecx
411c83:	00 95 14 41 00 b4    	add    %dl,-0x4bffbeec(%ebp)
411c89:	14 41                	adc    $0x41,%al
411c8b:	00 d3                	add    %dl,%bl
411c8d:	14 41                	adc    $0x41,%al
411c8f:	00 f2                	add    %dh,%dl
411c91:	14 41                	adc    $0x41,%al
411c93:	00 11                	add    %dl,(%ecx)
411c95:	15 41 00 30 15       	adc    $0x15300041,%eax
411c9a:	41                   	inc    %ecx
411c9b:	00 4f 15             	add    %cl,0x15(%edi)
411c9e:	41                   	inc    %ecx
411c9f:	00 4f 15             	add    %cl,0x15(%edi)
411ca2:	41                   	inc    %ecx
411ca3:	00 6e 15             	add    %ch,0x15(%esi)
411ca6:	41                   	inc    %ecx
411ca7:	00 4a 16             	add    %cl,0x16(%edx)
411caa:	41                   	inc    %ecx
411cab:	00 69 16             	add    %ch,0x16(%ecx)
411cae:	41                   	inc    %ecx
411caf:	00 88 16 41 00 a7    	add    %cl,-0x58ffbeea(%eax)
411cb5:	16                   	push   %ss
411cb6:	41                   	inc    %ecx
411cb7:	00 62 1c             	add    %ah,0x1c(%edx)
411cba:	41                   	inc    %ecx
411cbb:	00 62 1c             	add    %ah,0x1c(%edx)
411cbe:	41                   	inc    %ecx
411cbf:	00 c6                	add    %al,%dh
411cc1:	16                   	push   %ss
411cc2:	41                   	inc    %ecx
411cc3:	00 de                	add    %bl,%dh
411cc5:	16                   	push   %ss
411cc6:	41                   	inc    %ecx
411cc7:	00 81 17 41 00 d0    	add    %al,-0x2fffbee9(%ecx)
411ccd:	17                   	pop    %ss
411cce:	41                   	inc    %ecx
411ccf:	00 e8                	add    %ch,%al
411cd1:	17                   	pop    %ss
411cd2:	41                   	inc    %ecx
411cd3:	00 00                	add    %al,(%eax)
411cd5:	18 41 00             	sbb    %al,0x0(%ecx)
411cd8:	a0 18 41 00 b8       	mov    0xb8004118,%al
411cdd:	18 41 00             	sbb    %al,0x0(%ecx)
411ce0:	e5 18                	in     $0x18,%eax
411ce2:	41                   	inc    %ecx
411ce3:	00 14 19             	add    %dl,(%ecx,%ebx,1)
411ce6:	41                   	inc    %ecx
411ce7:	00 43 19             	add    %al,0x19(%ebx)
411cea:	41                   	inc    %ecx
411ceb:	00 7d 19             	add    %bh,0x19(%ebp)
411cee:	41                   	inc    %ecx
411cef:	00 7d 19             	add    %bh,0x19(%ebp)
411cf2:	41                   	inc    %ecx
411cf3:	00 ac 19 41 00 db 19 	add    %ch,0x19db0041(%ecx,%ebx,1)
411cfa:	41                   	inc    %ecx
411cfb:	00 0a                	add    %cl,(%edx)
411cfd:	1a 41 00             	sbb    0x0(%ecx),%al
411d00:	13 1a                	adc    (%edx),%ebx
411d02:	41                   	inc    %ecx
411d03:	00 42 1a             	add    %al,0x1a(%edx)
411d06:	41                   	inc    %ecx
411d07:	00 32                	add    %dh,(%edx)
411d09:	1c 41                	sbb    $0x41,%al
411d0b:	00 36                	add    %dh,(%esi)
411d0d:	1b 41 00             	sbb    0x0(%ecx),%eax
411d10:	4a                   	dec    %edx
411d11:	1c 41                	sbb    $0x41,%al
411d13:	00 62 1c             	add    %ah,0x1c(%edx)
411d16:	41                   	inc    %ecx
411d17:	00 62 1c             	add    %ah,0x1c(%edx)
411d1a:	41                   	inc    %ecx
411d1b:	00 c6                	add    %al,%dh
411d1d:	16                   	push   %ss
411d1e:	41                   	inc    %ecx
411d1f:	00 62 1c             	add    %ah,0x1c(%edx)
411d22:	41                   	inc    %ecx
411d23:	00 62 1c             	add    %ah,0x1c(%edx)
411d26:	41                   	inc    %ecx
411d27:	00 62 1c             	add    %ah,0x1c(%edx)
411d2a:	41                   	inc    %ecx
411d2b:	00 8d 15 41 00 18    	add    %cl,0x18004115(%ebp)
411d31:	18 41 00             	sbb    %al,0x0(%ecx)
411d34:	21 18                	and    %ebx,(%eax)
411d36:	41                   	inc    %ecx
411d37:	00 cc                	add    %cl,%ah
411d39:	cc                   	int3
411d3a:	cc                   	int3
411d3b:	cc                   	int3
411d3c:	cc                   	int3
411d3d:	cc                   	int3
411d3e:	cc                   	int3
411d3f:	cc                   	int3
411d40:	55                   	push   %ebp
411d41:	8b ec                	mov    %esp,%ebp
411d43:	51                   	push   %ecx
411d44:	53                   	push   %ebx
411d45:	8b d9                	mov    %ecx,%ebx
411d47:	8d 43 10             	lea    0x10(%ebx),%eax
411d4a:	56                   	push   %esi
411d4b:	8b 30                	mov    (%eax),%esi
411d4d:	89 45 fc             	mov    %eax,-0x4(%ebp)
411d50:	57                   	push   %edi
411d51:	85 f6                	test   %esi,%esi
411d53:	0f 84 85 00 00 00    	je     0x411dde
411d59:	33 c9                	xor    %ecx,%ecx
411d5b:	8d 46 01             	lea    0x1(%esi),%eax
411d5e:	ba 02 00 00 00       	mov    $0x2,%edx
411d63:	f7 e2                	mul    %edx
411d65:	0f 90 c1             	seto   %cl
411d68:	f7 d9                	neg    %ecx
411d6a:	0b c8                	or     %eax,%ecx
411d6c:	51                   	push   %ecx
411d6d:	e8 e1 48 01 00       	call   0x426653
411d72:	8b f8                	mov    %eax,%edi
411d74:	83 c4 04             	add    $0x4,%esp
411d77:	85 ff                	test   %edi,%edi
411d79:	74 63                	je     0x411dde
411d7b:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
411d7f:	8b c3                	mov    %ebx,%eax
411d81:	72 02                	jb     0x411d85
411d83:	8b 03                	mov    (%ebx),%eax
411d85:	50                   	push   %eax
411d86:	8d 46 01             	lea    0x1(%esi),%eax
411d89:	50                   	push   %eax
411d8a:	57                   	push   %edi
411d8b:	e8 e6 46 01 00       	call   0x426476
411d90:	8d 46 ff             	lea    -0x1(%esi),%eax
411d93:	83 c4 0c             	add    $0xc,%esp
411d96:	66 83 3c 47 5c       	cmpw   $0x5c,(%edi,%eax,2)
411d9b:	8d 04 47             	lea    (%edi,%eax,2),%eax
411d9e:	75 2a                	jne    0x411dca
411da0:	33 c9                	xor    %ecx,%ecx
411da2:	66 89 08             	mov    %cx,(%eax)
411da5:	8b c7                	mov    %edi,%eax
411da7:	8d 50 02             	lea    0x2(%eax),%edx
411daa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
411db0:	66 8b 08             	mov    (%eax),%cx
411db3:	83 c0 02             	add    $0x2,%eax
411db6:	66 85 c9             	test   %cx,%cx
411db9:	75 f5                	jne    0x411db0
411dbb:	2b c2                	sub    %edx,%eax
411dbd:	d1 f8                	sar    $1,%eax
411dbf:	48                   	dec    %eax
411dc0:	66 83 3c 47 5c       	cmpw   $0x5c,(%edi,%eax,2)
411dc5:	8d 04 47             	lea    (%edi,%eax,2),%eax
411dc8:	74 d6                	je     0x411da0
411dca:	57                   	push   %edi
411dcb:	ff 15 f4 f1 43 00    	call   *0x43f1f4
411dd1:	85 c0                	test   %eax,%eax
411dd3:	75 12                	jne    0x411de7
411dd5:	57                   	push   %edi
411dd6:	e8 3b a2 00 00       	call   0x41c016
411ddb:	83 c4 04             	add    $0x4,%esp
411dde:	5f                   	pop    %edi
411ddf:	5e                   	pop    %esi
411de0:	32 c0                	xor    %al,%al
411de2:	5b                   	pop    %ebx
411de3:	8b e5                	mov    %ebp,%esp
411de5:	5d                   	pop    %ebp
411de6:	c3                   	ret
411de7:	8b cf                	mov    %edi,%ecx
411de9:	8d 51 02             	lea    0x2(%ecx),%edx
411dec:	0f 1f 40 00          	nopl   0x0(%eax)
411df0:	66 8b 01             	mov    (%ecx),%ax
411df3:	83 c1 02             	add    $0x2,%ecx
411df6:	66 85 c0             	test   %ax,%ax
411df9:	75 f5                	jne    0x411df0
411dfb:	8b 43 14             	mov    0x14(%ebx),%eax
411dfe:	2b ca                	sub    %edx,%ecx
411e00:	d1 f9                	sar    $1,%ecx
411e02:	3b c8                	cmp    %eax,%ecx
411e04:	77 32                	ja     0x411e38
411e06:	83 f8 08             	cmp    $0x8,%eax
411e09:	72 02                	jb     0x411e0d
411e0b:	8b 1b                	mov    (%ebx),%ebx
411e0d:	8b 45 fc             	mov    -0x4(%ebp),%eax
411e10:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
411e13:	56                   	push   %esi
411e14:	57                   	push   %edi
411e15:	53                   	push   %ebx
411e16:	89 08                	mov    %ecx,(%eax)
411e18:	e8 33 b6 00 00       	call   0x41d450
411e1d:	83 c4 0c             	add    $0xc,%esp
411e20:	33 c0                	xor    %eax,%eax
411e22:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
411e26:	57                   	push   %edi
411e27:	e8 21 42 01 00       	call   0x42604d
411e2c:	83 c4 04             	add    $0x4,%esp
411e2f:	b0 01                	mov    $0x1,%al
411e31:	5f                   	pop    %edi
411e32:	5e                   	pop    %esi
411e33:	5b                   	pop    %ebx
411e34:	8b e5                	mov    %ebp,%esp
411e36:	5d                   	pop    %ebp
411e37:	c3                   	ret
411e38:	57                   	push   %edi
411e39:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
411e3d:	ff 75 fc             	push   -0x4(%ebp)
411e40:	51                   	push   %ecx
411e41:	8b cb                	mov    %ebx,%ecx
411e43:	e8 c8 07 ff ff       	call   0x402610
411e48:	57                   	push   %edi
411e49:	e8 ff 41 01 00       	call   0x42604d
411e4e:	83 c4 04             	add    $0x4,%esp
411e51:	b0 01                	mov    $0x1,%al
411e53:	5f                   	pop    %edi
411e54:	5e                   	pop    %esi
411e55:	5b                   	pop    %ebx
411e56:	8b e5                	mov    %ebp,%esp
411e58:	5d                   	pop    %ebp
411e59:	c3                   	ret
411e5a:	cc                   	int3
411e5b:	cc                   	int3
411e5c:	cc                   	int3
411e5d:	cc                   	int3
411e5e:	cc                   	int3
411e5f:	cc                   	int3
411e60:	55                   	push   %ebp
411e61:	8b ec                	mov    %esp,%ebp
411e63:	83 ec 0c             	sub    $0xc,%esp
411e66:	53                   	push   %ebx
411e67:	56                   	push   %esi
411e68:	57                   	push   %edi
411e69:	8b f9                	mov    %ecx,%edi
411e6b:	8b f2                	mov    %edx,%esi
411e6d:	8b 4f 10             	mov    0x10(%edi),%ecx
411e70:	8d 47 10             	lea    0x10(%edi),%eax
411e73:	89 45 f4             	mov    %eax,-0xc(%ebp)
411e76:	85 c9                	test   %ecx,%ecx
411e78:	0f 84 d5 00 00 00    	je     0x411f53
411e7e:	8b 46 10             	mov    0x10(%esi),%eax
411e81:	85 c0                	test   %eax,%eax
411e83:	0f 84 ca 00 00 00    	je     0x411f53
411e89:	83 c0 0b             	add    $0xb,%eax
411e8c:	ba 02 00 00 00       	mov    $0x2,%edx
411e91:	03 c1                	add    %ecx,%eax
411e93:	33 c9                	xor    %ecx,%ecx
411e95:	89 45 f8             	mov    %eax,-0x8(%ebp)
411e98:	f7 e2                	mul    %edx
411e9a:	0f 90 c1             	seto   %cl
411e9d:	f7 d9                	neg    %ecx
411e9f:	0b c8                	or     %eax,%ecx
411ea1:	51                   	push   %ecx
411ea2:	e8 ac 47 01 00       	call   0x426653
411ea7:	8b d8                	mov    %eax,%ebx
411ea9:	83 c4 04             	add    $0x4,%esp
411eac:	85 db                	test   %ebx,%ebx
411eae:	0f 84 9f 00 00 00    	je     0x411f53
411eb4:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
411eb8:	8b c7                	mov    %edi,%eax
411eba:	72 02                	jb     0x411ebe
411ebc:	8b 07                	mov    (%edi),%eax
411ebe:	50                   	push   %eax
411ebf:	ff 75 f8             	push   -0x8(%ebp)