42cdc9:	8d 4e 04             	lea    0x4(%esi),%ecx
42cdcc:	e8 26 00 00 00       	call   0x42cdf7
42cdd1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42cdd4:	5f                   	pop    %edi
42cdd5:	5e                   	pop    %esi
42cdd6:	33 cd                	xor    %ebp,%ecx
42cdd8:	5b                   	pop    %ebx
42cdd9:	e8 e2 d9 fe ff       	call   0x41a7c0
42cdde:	c9                   	leave
42cddf:	c3                   	ret
42cde0:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
42cde4:	74 10                	je     0x42cdf6
42cde6:	ff 71 0c             	push   0xc(%ecx)
42cde9:	c7 41 14 01 00 00 00 	movl   $0x1,0x14(%ecx)
42cdf0:	ff 15 b0 a2 43 00    	call   *0x43a2b0
42cdf6:	c3                   	ret
42cdf7:	8b ff                	mov    %edi,%edi
42cdf9:	55                   	push   %ebp
42cdfa:	8b ec                	mov    %esp,%ebp
42cdfc:	51                   	push   %ecx
42cdfd:	56                   	push   %esi
42cdfe:	8b f1                	mov    %ecx,%esi
42ce00:	ff 15 f8 a1 43 00    	call   *0x43a1f8
42ce06:	39 46 0c             	cmp    %eax,0xc(%esi)
42ce09:	74 17                	je     0x42ce22
42ce0b:	8b 4d 04             	mov    0x4(%ebp),%ecx
42ce0e:	ba b0 03 00 00       	mov    $0x3b0,%edx
42ce13:	68 9c 02 07 80       	push   $0x8007029c
42ce18:	68 2c 70 40 00       	push   $0x40702c
42ce1d:	e8 00 c0 ff ff       	call   0x428e22
42ce22:	83 66 0c 00          	andl   $0x0,0xc(%esi)
42ce26:	8b 0e                	mov    (%esi),%ecx
42ce28:	eb 09                	jmp    0x42ce33
42ce2a:	3b c6                	cmp    %esi,%eax
42ce2c:	74 0d                	je     0x42ce3b
42ce2e:	8d 48 08             	lea    0x8(%eax),%ecx
42ce31:	89 0e                	mov    %ecx,(%esi)
42ce33:	8b 01                	mov    (%ecx),%eax
42ce35:	85 c0                	test   %eax,%eax
42ce37:	75 f1                	jne    0x42ce2a
42ce39:	eb 05                	jmp    0x42ce40
42ce3b:	8b 46 08             	mov    0x8(%esi),%eax
42ce3e:	89 01                	mov    %eax,(%ecx)
42ce40:	83 26 00             	andl   $0x0,(%esi)
42ce43:	5e                   	pop    %esi
42ce44:	59                   	pop    %ecx
42ce45:	5d                   	pop    %ebp
42ce46:	c3                   	ret
42ce47:	8b ff                	mov    %edi,%edi
42ce49:	56                   	push   %esi
42ce4a:	33 f6                	xor    %esi,%esi
42ce4c:	57                   	push   %edi
42ce4d:	66 8b fa             	mov    %dx,%di
42ce50:	85 c9                	test   %ecx,%ecx
42ce52:	75 04                	jne    0x42ce58
42ce54:	33 c0                	xor    %eax,%eax
42ce56:	eb 28                	jmp    0x42ce80
42ce58:	0f b7 01             	movzwl (%ecx),%eax
42ce5b:	66 85 c0             	test   %ax,%ax
42ce5e:	74 1e                	je     0x42ce7e
42ce60:	8b d0                	mov    %eax,%edx
42ce62:	66 3b d7             	cmp    %di,%dx
42ce65:	74 15                	je     0x42ce7c
42ce67:	51                   	push   %ecx
42ce68:	ff 15 70 a2 43 00    	call   *0x43a270
42ce6e:	8b c8                	mov    %eax,%ecx
42ce70:	0f b7 01             	movzwl (%ecx),%eax
42ce73:	8b d0                	mov    %eax,%edx
42ce75:	66 85 c0             	test   %ax,%ax
42ce78:	75 e8                	jne    0x42ce62
42ce7a:	eb 02                	jmp    0x42ce7e
42ce7c:	8b f1                	mov    %ecx,%esi
42ce7e:	8b c6                	mov    %esi,%eax
42ce80:	5f                   	pop    %edi
42ce81:	5e                   	pop    %esi
42ce82:	c3                   	ret
42ce83:	8b ff                	mov    %edi,%edi
42ce85:	55                   	push   %ebp
42ce86:	8b ec                	mov    %esp,%ebp
42ce88:	56                   	push   %esi
42ce89:	8b f1                	mov    %ecx,%esi
42ce8b:	57                   	push   %edi
42ce8c:	8d 7e 10             	lea    0x10(%esi),%edi
42ce8f:	57                   	push   %edi
42ce90:	ff 15 d4 a2 43 00    	call   *0x43a2d4
42ce96:	8d 45 08             	lea    0x8(%ebp),%eax
42ce99:	50                   	push   %eax
42ce9a:	8d 4e 04             	lea    0x4(%esi),%ecx
42ce9d:	e8 a0 bf ff ff       	call   0x428e42
42cea2:	57                   	push   %edi
42cea3:	8b f0                	mov    %eax,%esi
42cea5:	ff 15 9c a2 43 00    	call   *0x43a29c
42ceab:	5f                   	pop    %edi
42ceac:	8b c6                	mov    %esi,%eax
42ceae:	5e                   	pop    %esi
42ceaf:	5d                   	pop    %ebp
42ceb0:	c2 04 00             	ret    $0x4
42ceb3:	8b ff                	mov    %edi,%edi
42ceb5:	55                   	push   %ebp
42ceb6:	8b ec                	mov    %esp,%ebp
42ceb8:	51                   	push   %ecx
42ceb9:	56                   	push   %esi
42ceba:	8d 45 fc             	lea    -0x4(%ebp),%eax
42cebd:	8b f1                	mov    %ecx,%esi
42cebf:	50                   	push   %eax
42cec0:	e8 98 01 00 00       	call   0x42d05d
42cec5:	85 c0                	test   %eax,%eax
42cec7:	78 17                	js     0x42cee0
42cec9:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cecc:	ba 04 01 00 00       	mov    $0x104,%edx
42ced1:	51                   	push   %ecx
42ced2:	ff 75 08             	push   0x8(%ebp)
42ced5:	2b d0                	sub    %eax,%edx
42ced7:	51                   	push   %ecx
42ced8:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
42cedb:	e8 2d 01 00 00       	call   0x42d00d
42cee0:	5e                   	pop    %esi
42cee1:	c9                   	leave
42cee2:	c2 04 00             	ret    $0x4
42cee5:	8b ff                	mov    %edi,%edi
42cee7:	55                   	push   %ebp
42cee8:	8b ec                	mov    %esp,%ebp
42ceea:	33 c0                	xor    %eax,%eax
42ceec:	85 d2                	test   %edx,%edx
42ceee:	74 08                	je     0x42cef8
42cef0:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
42cef6:	76 05                	jbe    0x42cefd
42cef8:	b8 57 00 07 80       	mov    $0x80070057,%eax
42cefd:	85 c0                	test   %eax,%eax
42ceff:	78 0c                	js     0x42cf0d
42cf01:	51                   	push   %ecx
42cf02:	ff 75 08             	push   0x8(%ebp)
42cf05:	51                   	push   %ecx
42cf06:	e8 bb 00 00 00       	call   0x42cfc6
42cf0b:	eb 07                	jmp    0x42cf14
42cf0d:	85 d2                	test   %edx,%edx
42cf0f:	74 03                	je     0x42cf14
42cf11:	c6 01 00             	movb   $0x0,(%ecx)
42cf14:	5d                   	pop    %ebp
42cf15:	c2 04 00             	ret    $0x4
42cf18:	8b ff                	mov    %edi,%edi
42cf1a:	55                   	push   %ebp
42cf1b:	8b ec                	mov    %esp,%ebp
42cf1d:	33 c0                	xor    %eax,%eax
42cf1f:	85 d2                	test   %edx,%edx
42cf21:	74 08                	je     0x42cf2b
42cf23:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
42cf29:	76 05                	jbe    0x42cf30
42cf2b:	b8 57 00 07 80       	mov    $0x80070057,%eax
42cf30:	85 c0                	test   %eax,%eax
42cf32:	78 0c                	js     0x42cf40
42cf34:	51                   	push   %ecx
42cf35:	ff 75 08             	push   0x8(%ebp)
42cf38:	51                   	push   %ecx
42cf39:	e8 cf 00 00 00       	call   0x42d00d
42cf3e:	eb 09                	jmp    0x42cf49
42cf40:	85 d2                	test   %edx,%edx
42cf42:	74 05                	je     0x42cf49
42cf44:	33 d2                	xor    %edx,%edx
42cf46:	66 89 11             	mov    %dx,(%ecx)
42cf49:	5d                   	pop    %ebp
42cf4a:	c2 04 00             	ret    $0x4
42cf4d:	8b ff                	mov    %edi,%edi
42cf4f:	55                   	push   %ebp
42cf50:	8b ec                	mov    %esp,%ebp
42cf52:	8b 45 0c             	mov    0xc(%ebp),%eax
42cf55:	33 c9                	xor    %ecx,%ecx
42cf57:	85 c0                	test   %eax,%eax
42cf59:	74 07                	je     0x42cf62
42cf5b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
42cf60:	76 05                	jbe    0x42cf67
42cf62:	b9 57 00 07 80       	mov    $0x80070057,%ecx
42cf67:	85 c9                	test   %ecx,%ecx
42cf69:	78 16                	js     0x42cf81
42cf6b:	8d 4d 14             	lea    0x14(%ebp),%ecx
42cf6e:	8b d0                	mov    %eax,%edx
42cf70:	51                   	push   %ecx
42cf71:	ff 75 10             	push   0x10(%ebp)
42cf74:	51                   	push   %ecx
42cf75:	8b 4d 08             	mov    0x8(%ebp),%ecx
42cf78:	e8 ea 0d 00 00       	call   0x42dd67
42cf7d:	8b c8                	mov    %eax,%ecx
42cf7f:	eb 0a                	jmp    0x42cf8b
42cf81:	85 c0                	test   %eax,%eax
42cf83:	74 06                	je     0x42cf8b
42cf85:	8b 45 08             	mov    0x8(%ebp),%eax
42cf88:	c6 00 00             	movb   $0x0,(%eax)
42cf8b:	8b c1                	mov    %ecx,%eax
42cf8d:	5d                   	pop    %ebp
42cf8e:	c3                   	ret
42cf8f:	8b ff                	mov    %edi,%edi
42cf91:	55                   	push   %ebp
42cf92:	8b ec                	mov    %esp,%ebp
42cf94:	33 c0                	xor    %eax,%eax
42cf96:	85 d2                	test   %edx,%edx
42cf98:	74 08                	je     0x42cfa2
42cf9a:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
42cfa0:	76 05                	jbe    0x42cfa7
42cfa2:	b8 57 00 07 80       	mov    $0x80070057,%eax
42cfa7:	85 c0                	test   %eax,%eax
42cfa9:	78 0e                	js     0x42cfb9
42cfab:	ff 75 0c             	push   0xc(%ebp)
42cfae:	ff 75 08             	push   0x8(%ebp)
42cfb1:	51                   	push   %ecx
42cfb2:	e8 ed 00 00 00       	call   0x42d0a4
42cfb7:	eb 09                	jmp    0x42cfc2
42cfb9:	85 d2                	test   %edx,%edx
42cfbb:	74 05                	je     0x42cfc2
42cfbd:	33 d2                	xor    %edx,%edx
42cfbf:	66 89 11             	mov    %dx,(%ecx)
42cfc2:	5d                   	pop    %ebp
42cfc3:	c2 08 00             	ret    $0x8
42cfc6:	8b ff                	mov    %edi,%edi
42cfc8:	55                   	push   %ebp
42cfc9:	8b ec                	mov    %esp,%ebp
42cfcb:	85 d2                	test   %edx,%edx
42cfcd:	74 26                	je     0x42cff5
42cfcf:	8b 45 0c             	mov    0xc(%ebp),%eax
42cfd2:	53                   	push   %ebx
42cfd3:	56                   	push   %esi
42cfd4:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
42cfd9:	2b c1                	sub    %ecx,%eax
42cfdb:	85 f6                	test   %esi,%esi
42cfdd:	74 10                	je     0x42cfef
42cfdf:	8a 1c 08             	mov    (%eax,%ecx,1),%bl
42cfe2:	84 db                	test   %bl,%bl
42cfe4:	74 09                	je     0x42cfef
42cfe6:	88 19                	mov    %bl,(%ecx)
42cfe8:	41                   	inc    %ecx
42cfe9:	4e                   	dec    %esi
42cfea:	83 ea 01             	sub    $0x1,%edx
42cfed:	75 ec                	jne    0x42cfdb
42cfef:	5e                   	pop    %esi
42cff0:	5b                   	pop    %ebx
42cff1:	85 d2                	test   %edx,%edx
42cff3:	75 01                	jne    0x42cff6
42cff5:	49                   	dec    %ecx
42cff6:	f7 da                	neg    %edx
42cff8:	c6 01 00             	movb   $0x0,(%ecx)
42cffb:	1b d2                	sbb    %edx,%edx
42cffd:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
42d003:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
42d009:	5d                   	pop    %ebp
42d00a:	c2 0c 00             	ret    $0xc
42d00d:	8b ff                	mov    %edi,%edi
42d00f:	55                   	push   %ebp
42d010:	8b ec                	mov    %esp,%ebp
42d012:	85 d2                	test   %edx,%edx
42d014:	74 2b                	je     0x42d041
42d016:	8b 45 0c             	mov    0xc(%ebp),%eax
42d019:	56                   	push   %esi
42d01a:	57                   	push   %edi
42d01b:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
42d020:	2b c1                	sub    %ecx,%eax
42d022:	85 f6                	test   %esi,%esi
42d024:	74 15                	je     0x42d03b
42d026:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
42d02a:	66 85 ff             	test   %di,%di
42d02d:	74 0c                	je     0x42d03b
42d02f:	66 89 39             	mov    %di,(%ecx)
42d032:	83 c1 02             	add    $0x2,%ecx
42d035:	4e                   	dec    %esi
42d036:	83 ea 01             	sub    $0x1,%edx
42d039:	75 e7                	jne    0x42d022
42d03b:	5f                   	pop    %edi
42d03c:	5e                   	pop    %esi
42d03d:	85 d2                	test   %edx,%edx
42d03f:	75 03                	jne    0x42d044
42d041:	83 e9 02             	sub    $0x2,%ecx
42d044:	f7 da                	neg    %edx
42d046:	1b d2                	sbb    %edx,%edx
42d048:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
42d04e:	33 c0                	xor    %eax,%eax
42d050:	66 89 01             	mov    %ax,(%ecx)
42d053:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
42d059:	5d                   	pop    %ebp
42d05a:	c2 0c 00             	ret    $0xc
42d05d:	8b ff                	mov    %edi,%edi
42d05f:	55                   	push   %ebp
42d060:	8b ec                	mov    %esp,%ebp
42d062:	51                   	push   %ecx
42d063:	56                   	push   %esi
42d064:	be 04 01 00 00       	mov    $0x104,%esi
42d069:	57                   	push   %edi
42d06a:	8b d6                	mov    %esi,%edx
42d06c:	33 ff                	xor    %edi,%edi
42d06e:	66 39 39             	cmp    %di,(%ecx)
42d071:	74 08                	je     0x42d07b
42d073:	83 c1 02             	add    $0x2,%ecx
42d076:	83 ea 01             	sub    $0x1,%edx
42d079:	75 f3                	jne    0x42d06e
42d07b:	8b 4d 08             	mov    0x8(%ebp),%ecx
42d07e:	8b c2                	mov    %edx,%eax
42d080:	f7 d8                	neg    %eax
42d082:	1b c0                	sbb    %eax,%eax
42d084:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
42d089:	05 57 00 07 80       	add    $0x80070057,%eax
42d08e:	85 c9                	test   %ecx,%ecx
42d090:	74 0c                	je     0x42d09e
42d092:	85 d2                	test   %edx,%edx
42d094:	74 06                	je     0x42d09c
42d096:	2b f2                	sub    %edx,%esi
42d098:	89 31                	mov    %esi,(%ecx)
42d09a:	eb 02                	jmp    0x42d09e
42d09c:	89 39                	mov    %edi,(%ecx)
42d09e:	5f                   	pop    %edi
42d09f:	5e                   	pop    %esi
42d0a0:	c9                   	leave
42d0a1:	c2 04 00             	ret    $0x4
42d0a4:	8b ff                	mov    %edi,%edi
42d0a6:	55                   	push   %ebp
42d0a7:	8b ec                	mov    %esp,%ebp
42d0a9:	53                   	push   %ebx
42d0aa:	56                   	push   %esi
42d0ab:	57                   	push   %edi
42d0ac:	ff 75 10             	push   0x10(%ebp)
42d0af:	8d 72 ff             	lea    -0x1(%edx),%esi
42d0b2:	8b f9                	mov    %ecx,%edi
42d0b4:	ff 75 0c             	push   0xc(%ebp)
42d0b7:	33 db                	xor    %ebx,%ebx
42d0b9:	56                   	push   %esi
42d0ba:	57                   	push   %edi
42d0bb:	ff 15 e8 a4 43 00    	call   *0x43a4e8
42d0c1:	83 c4 10             	add    $0x10,%esp
42d0c4:	85 c0                	test   %eax,%eax
42d0c6:	78 08                	js     0x42d0d0
42d0c8:	3b c6                	cmp    %esi,%eax
42d0ca:	77 04                	ja     0x42d0d0
42d0cc:	75 0d                	jne    0x42d0db
42d0ce:	eb 05                	jmp    0x42d0d5
42d0d0:	bb 7a 00 07 80       	mov    $0x8007007a,%ebx
42d0d5:	33 c0                	xor    %eax,%eax
42d0d7:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
42d0db:	5f                   	pop    %edi
42d0dc:	5e                   	pop    %esi
42d0dd:	8b c3                	mov    %ebx,%eax
42d0df:	5b                   	pop    %ebx
42d0e0:	5d                   	pop    %ebp
42d0e1:	c2 0c 00             	ret    $0xc
42d0e4:	6a 08                	push   $0x8
42d0e6:	b8 d4 f2 41 00       	mov    $0x41f2d4,%eax
42d0eb:	e8 1e dd fe ff       	call   0x41ae0e
42d0f0:	8b f1                	mov    %ecx,%esi
42d0f2:	8b 7d 08             	mov    0x8(%ebp),%edi
42d0f5:	57                   	push   %edi
42d0f6:	ff 15 88 a2 43 00    	call   *0x43a288
42d0fc:	89 7d ec             	mov    %edi,-0x14(%ebp)
42d0ff:	ff 75 14             	push   0x14(%ebp)
42d102:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42d106:	8b ce                	mov    %esi,%ecx