45cbe2:	64 89 20             	mov    %esp,%fs:(%eax)
45cbe5:	8b 06                	mov    (%esi),%eax
45cbe7:	3d 11 01 00 00       	cmp    $0x111,%eax
45cbec:	7f 20                	jg     0x45cc0e
45cbee:	74 36                	je     0x45cc26
45cbf0:	83 e8 2b             	sub    $0x2b,%eax
45cbf3:	0f 84 3a 02 00 00    	je     0x45ce33
45cbf9:	48                   	dec    %eax
45cbfa:	0f 84 3e 03 00 00    	je     0x45cf3e
45cc00:	83 e8 27             	sub    $0x27,%eax
45cc03:	0f 84 28 01 00 00    	je     0x45cd31
45cc09:	e9 b9 04 00 00       	jmp    0x45d0c7
45cc0e:	2d 17 01 00 00       	sub    $0x117,%eax
45cc13:	74 47                	je     0x45cc5c
45cc15:	83 e8 08             	sub    $0x8,%eax
45cc18:	74 77                	je     0x45cc91
45cc1a:	48                   	dec    %eax
45cc1b:	0f 84 5d 04 00 00    	je     0x45d07e
45cc21:	e9 a1 04 00 00       	jmp    0x45d0c7
45cc26:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cc29:	8b 58 08             	mov    0x8(%eax),%ebx
45cc2c:	4b                   	dec    %ebx
45cc2d:	85 db                	test   %ebx,%ebx
45cc2f:	0f 8c 92 04 00 00    	jl     0x45d0c7
45cc35:	43                   	inc    %ebx
45cc36:	33 ff                	xor    %edi,%edi
45cc38:	8b d7                	mov    %edi,%edx
45cc3a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cc3d:	e8 7e f1 fb ff       	call   0x41bdc0
45cc42:	66 8b 56 04          	mov    0x4(%esi),%dx
45cc46:	e8 61 f2 ff ff       	call   0x45beac
45cc4b:	84 c0                	test   %al,%al
45cc4d:	0f 85 8e 04 00 00    	jne    0x45d0e1
45cc53:	47                   	inc    %edi
45cc54:	4b                   	dec    %ebx
45cc55:	75 e1                	jne    0x45cc38
45cc57:	e9 6b 04 00 00       	jmp    0x45d0c7
45cc5c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cc5f:	8b 58 08             	mov    0x8(%eax),%ebx
45cc62:	4b                   	dec    %ebx
45cc63:	85 db                	test   %ebx,%ebx
45cc65:	0f 8c 5c 04 00 00    	jl     0x45d0c7
45cc6b:	43                   	inc    %ebx
45cc6c:	33 ff                	xor    %edi,%edi
45cc6e:	8b d7                	mov    %edi,%edx
45cc70:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cc73:	e8 48 f1 fb ff       	call   0x41bdc0
45cc78:	8b 56 04             	mov    0x4(%esi),%edx
45cc7b:	e8 48 f2 ff ff       	call   0x45bec8
45cc80:	84 c0                	test   %al,%al
45cc82:	0f 85 59 04 00 00    	jne    0x45d0e1
45cc88:	47                   	inc    %edi
45cc89:	4b                   	dec    %ebx
45cc8a:	75 e2                	jne    0x45cc6e
45cc8c:	e9 36 04 00 00       	jmp    0x45d0c7
45cc91:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
45cc95:	f6 46 06 10          	testb  $0x10,0x6(%esi)
45cc99:	74 04                	je     0x45cc9f
45cc9b:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
45cc9f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cca2:	8b 58 08             	mov    0x8(%eax),%ebx
45cca5:	4b                   	dec    %ebx
45cca6:	85 db                	test   %ebx,%ebx
45cca8:	7c 74                	jl     0x45cd1e
45ccaa:	43                   	inc    %ebx
45ccab:	33 ff                	xor    %edi,%edi
45ccad:	80 7d f3 01          	cmpb   $0x1,-0xd(%ebp)
45ccb1:	75 20                	jne    0x45ccd3
45ccb3:	8b 46 08             	mov    0x8(%esi),%eax
45ccb6:	85 c0                	test   %eax,%eax
45ccb8:	74 10                	je     0x45ccca
45ccba:	0f b7 56 04          	movzwl 0x4(%esi),%edx
45ccbe:	52                   	push   %edx
45ccbf:	50                   	push   %eax
45ccc0:	e8 3b ae fa ff       	call   0x407b00
45ccc5:	89 45 f8             	mov    %eax,-0x8(%ebp)
45ccc8:	eb 10                	jmp    0x45ccda
45ccca:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
45ccd1:	eb 07                	jmp    0x45ccda
45ccd3:	0f b7 46 04          	movzwl 0x4(%esi),%eax
45ccd7:	89 45 f8             	mov    %eax,-0x8(%ebp)
45ccda:	8b d7                	mov    %edi,%edx
45ccdc:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ccdf:	e8 dc f0 fb ff       	call   0x41bdc0
45cce4:	8a 4d f3             	mov    -0xd(%ebp),%cl
45cce7:	8b 55 f8             	mov    -0x8(%ebp),%edx
45ccea:	e8 1d f1 ff ff       	call   0x45be0c
45ccef:	89 45 f4             	mov    %eax,-0xc(%ebp)
45ccf2:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45ccf6:	74 22                	je     0x45cd1a
45ccf8:	8d 55 d0             	lea    -0x30(%ebp),%edx
45ccfb:	8b 45 f4             	mov    -0xc(%ebp),%eax
45ccfe:	8b 40 58             	mov    0x58(%eax),%eax
45cd01:	e8 16 8c fe ff       	call   0x44591c
45cd06:	8b 55 d0             	mov    -0x30(%ebp),%edx
45cd09:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
45cd0e:	8b 00                	mov    (%eax),%eax
45cd10:	e8 2b d8 00 00       	call   0x46a540
45cd15:	e9 c7 03 00 00       	jmp    0x45d0e1
45cd1a:	47                   	inc    %edi
45cd1b:	4b                   	dec    %ebx
45cd1c:	75 8f                	jne    0x45ccad
45cd1e:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
45cd23:	8b 00                	mov    (%eax),%eax
45cd25:	33 d2                	xor    %edx,%edx
45cd27:	e8 14 d8 00 00       	call   0x46a540
45cd2c:	e9 96 03 00 00       	jmp    0x45d0c7
45cd31:	8b 46 08             	mov    0x8(%esi),%eax
45cd34:	89 45 e0             	mov    %eax,-0x20(%ebp)
45cd37:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cd3a:	8b 58 08             	mov    0x8(%eax),%ebx
45cd3d:	4b                   	dec    %ebx
45cd3e:	85 db                	test   %ebx,%ebx
45cd40:	0f 8c 81 03 00 00    	jl     0x45d0c7
45cd46:	43                   	inc    %ebx
45cd47:	33 ff                	xor    %edi,%edi
45cd49:	8b d7                	mov    %edi,%edx
45cd4b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cd4e:	e8 6d f0 fb ff       	call   0x41bdc0
45cd53:	8b 10                	mov    (%eax),%edx
45cd55:	ff 52 34             	call   *0x34(%edx)
45cd58:	8b 55 e0             	mov    -0x20(%ebp),%edx
45cd5b:	3b 42 0c             	cmp    0xc(%edx),%eax
45cd5e:	75 12                	jne    0x45cd72
45cd60:	8b d7                	mov    %edi,%edx
45cd62:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cd65:	e8 56 f0 fb ff       	call   0x41bdc0
45cd6a:	8b 40 34             	mov    0x34(%eax),%eax
45cd6d:	89 45 f4             	mov    %eax,-0xc(%ebp)
45cd70:	eb 1a                	jmp    0x45cd8c
45cd72:	8b d7                	mov    %edi,%edx
45cd74:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cd77:	e8 44 f0 fb ff       	call   0x41bdc0
45cd7c:	8b 55 e0             	mov    -0x20(%ebp),%edx
45cd7f:	8b 52 0c             	mov    0xc(%edx),%edx
45cd82:	b1 01                	mov    $0x1,%cl
45cd84:	e8 83 f0 ff ff       	call   0x45be0c
45cd89:	89 45 f4             	mov    %eax,-0xc(%ebp)
45cd8c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45cd90:	0f 84 90 00 00 00    	je     0x45ce26
45cd96:	8b d7                	mov    %edi,%edx
45cd98:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cd9b:	e8 20 f0 fb ff       	call   0x41bdc0
45cda0:	8b 55 e0             	mov    -0x20(%ebp),%edx
45cda3:	8b 52 08             	mov    0x8(%edx),%edx
45cda6:	b1 01                	mov    $0x1,%cl
45cda8:	e8 8f f0 ff ff       	call   0x45be3c
45cdad:	85 c0                	test   %eax,%eax
45cdaf:	75 17                	jne    0x45cdc8
45cdb1:	8b d7                	mov    %edi,%edx
45cdb3:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cdb6:	e8 05 f0 fb ff       	call   0x41bdc0
45cdbb:	8b 55 e0             	mov    -0x20(%ebp),%edx
45cdbe:	8b 52 0c             	mov    0xc(%edx),%edx
45cdc1:	33 c9                	xor    %ecx,%ecx
45cdc3:	e8 74 f0 ff ff       	call   0x45be3c
45cdc8:	8b 15 64 72 6a 00    	mov    0x6a7264,%edx
45cdce:	8b 12                	mov    (%edx),%edx
45cdd0:	8b 52 6c             	mov    0x6c(%edx),%edx
45cdd3:	85 d2                	test   %edx,%edx
45cdd5:	0f 84 06 03 00 00    	je     0x45d0e1
45cddb:	85 c0                	test   %eax,%eax
45cddd:	75 0b                	jne    0x45cdea
45cddf:	a1 64 72 6a 00       	mov    0x6a7264,%eax
45cde4:	8b 82 58 01 00 00    	mov    0x158(%edx),%eax
45cdea:	8b 0d 64 72 6a 00    	mov    0x6a7264,%ecx
45cdf0:	f6 82 28 02 00 00 08 	testb  $0x8,0x228(%edx)
45cdf7:	74 1a                	je     0x45ce13
45cdf9:	8b 15 f4 6f 6a 00    	mov    0x6a6ff4,%edx
45cdff:	8b 12                	mov    (%edx),%edx
45ce01:	8b c8                	mov    %eax,%ecx
45ce03:	b8 08 00 00 00       	mov    $0x8,%eax
45ce08:	92                   	xchg   %eax,%edx
45ce09:	e8 26 d4 00 00       	call   0x46a234
45ce0e:	e9 ce 02 00 00       	jmp    0x45d0e1
45ce13:	8b 15 f4 6f 6a 00    	mov    0x6a6ff4,%edx
45ce19:	8b 12                	mov    (%edx),%edx
45ce1b:	92                   	xchg   %eax,%edx
45ce1c:	e8 ab d3 00 00       	call   0x46a1cc
45ce21:	e9 bb 02 00 00       	jmp    0x45d0e1
45ce26:	47                   	inc    %edi
45ce27:	4b                   	dec    %ebx
45ce28:	0f 85 1b ff ff ff    	jne    0x45cd49
45ce2e:	e9 94 02 00 00       	jmp    0x45d0c7
45ce33:	8b 46 08             	mov    0x8(%esi),%eax
45ce36:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ce39:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce3c:	8b 58 08             	mov    0x8(%eax),%ebx
45ce3f:	4b                   	dec    %ebx
45ce40:	85 db                	test   %ebx,%ebx
45ce42:	0f 8c 7f 02 00 00    	jl     0x45d0c7
45ce48:	43                   	inc    %ebx
45ce49:	33 ff                	xor    %edi,%edi
45ce4b:	8b d7                	mov    %edi,%edx
45ce4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce50:	e8 6b ef fb ff       	call   0x41bdc0
45ce55:	8b 55 dc             	mov    -0x24(%ebp),%edx
45ce58:	8b 52 08             	mov    0x8(%edx),%edx
45ce5b:	33 c9                	xor    %ecx,%ecx
45ce5d:	e8 aa ef ff ff       	call   0x45be0c
45ce62:	89 45 f4             	mov    %eax,-0xc(%ebp)
45ce65:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45ce69:	0f 84 c2 00 00 00    	je     0x45cf31
45ce6f:	b2 01                	mov    $0x1,%dl
45ce71:	a1 f8 34 44 00       	mov    0x4434f8,%eax
45ce76:	e8 59 b5 fc ff       	call   0x4283d4
45ce7b:	89 45 ec             	mov    %eax,-0x14(%ebp)
45ce7e:	33 c0                	xor    %eax,%eax
45ce80:	55                   	push   %ebp
45ce81:	68 2a cf 45 00       	push   $0x45cf2a
45ce86:	64 ff 30             	push   %fs:(%eax)
45ce89:	64 89 20             	mov    %esp,%fs:(%eax)
45ce8c:	8b 45 dc             	mov    -0x24(%ebp),%eax
45ce8f:	8b 40 18             	mov    0x18(%eax),%eax
45ce92:	50                   	push   %eax
45ce93:	e8 58 a8 fa ff       	call   0x4076f0
45ce98:	89 45 e8             	mov    %eax,-0x18(%ebp)
45ce9b:	33 c0                	xor    %eax,%eax
45ce9d:	55                   	push   %ebp
45ce9e:	68 0d cf 45 00       	push   $0x45cf0d
45cea3:	64 ff 30             	push   %fs:(%eax)
45cea6:	64 89 20             	mov    %esp,%fs:(%eax)
45cea9:	8b 45 dc             	mov    -0x24(%ebp),%eax
45ceac:	8b 50 18             	mov    0x18(%eax),%edx
45ceaf:	8b 45 ec             	mov    -0x14(%ebp),%eax
45ceb2:	e8 89 be fc ff       	call   0x428d40
45ceb7:	a1 64 72 6a 00       	mov    0x6a7264,%eax
45cebc:	8b 00                	mov    (%eax),%eax
45cebe:	8b 90 88 00 00 00    	mov    0x88(%eax),%edx
45cec4:	8b 45 ec             	mov    -0x14(%ebp),%eax
45cec7:	e8 f0 bc fc ff       	call   0x428bbc
45cecc:	8b 45 dc             	mov    -0x24(%ebp),%eax
45cecf:	66 8b 40 10          	mov    0x10(%eax),%ax
45ced3:	50                   	push   %eax
45ced4:	8b 45 dc             	mov    -0x24(%ebp),%eax
45ced7:	8d 48 1c             	lea    0x1c(%eax),%ecx
45ceda:	8b 55 ec             	mov    -0x14(%ebp),%edx
45cedd:	8b 45 f4             	mov    -0xc(%ebp),%eax
45cee0:	e8 b7 04 00 00       	call   0x45d39c
45cee5:	33 c0                	xor    %eax,%eax
45cee7:	5a                   	pop    %edx
45cee8:	59                   	pop    %ecx
45cee9:	59                   	pop    %ecx
45ceea:	64 89 10             	mov    %edx,%fs:(%eax)
45ceed:	68 14 cf 45 00       	push   $0x45cf14
45cef2:	33 d2                	xor    %edx,%edx
45cef4:	8b 45 ec             	mov    -0x14(%ebp),%eax
45cef7:	e8 44 be fc ff       	call   0x428d40
45cefc:	8b 45 e8             	mov    -0x18(%ebp),%eax
45ceff:	50                   	push   %eax
45cf00:	8b 45 dc             	mov    -0x24(%ebp),%eax
45cf03:	8b 40 18             	mov    0x18(%eax),%eax
45cf06:	50                   	push   %eax
45cf07:	e8 d4 a7 fa ff       	call   0x4076e0
45cf0c:	c3                   	ret
45cf0d:	e9 fa 72 fa ff       	jmp    0x40420c
45cf12:	eb de                	jmp    0x45cef2
45cf14:	33 c0                	xor    %eax,%eax
45cf16:	5a                   	pop    %edx
45cf17:	59                   	pop    %ecx
45cf18:	59                   	pop    %ecx
45cf19:	64 89 10             	mov    %edx,%fs:(%eax)
45cf1c:	68 e1 d0 45 00       	push   $0x45d0e1
45cf21:	8b 45 ec             	mov    -0x14(%ebp),%eax
45cf24:	e8 4f 6b fa ff       	call   0x403a78
45cf29:	c3                   	ret
45cf2a:	e9 dd 72 fa ff       	jmp    0x40420c
45cf2f:	eb f0                	jmp    0x45cf21
45cf31:	47                   	inc    %edi
45cf32:	4b                   	dec    %ebx
45cf33:	0f 85 12 ff ff ff    	jne    0x45ce4b
45cf39:	e9 89 01 00 00       	jmp    0x45d0c7
45cf3e:	8b 46 08             	mov    0x8(%esi),%eax
45cf41:	89 45 d8             	mov    %eax,-0x28(%ebp)
45cf44:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cf47:	8b 58 08             	mov    0x8(%eax),%ebx
45cf4a:	4b                   	dec    %ebx
45cf4b:	85 db                	test   %ebx,%ebx
45cf4d:	0f 8c 74 01 00 00    	jl     0x45d0c7
45cf53:	43                   	inc    %ebx
45cf54:	33 ff                	xor    %edi,%edi
45cf56:	8b d7                	mov    %edi,%edx
45cf58:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cf5b:	e8 60 ee fb ff       	call   0x41bdc0
45cf60:	8b 55 d8             	mov    -0x28(%ebp),%edx
45cf63:	8b 52 08             	mov    0x8(%edx),%edx
45cf66:	33 c9                	xor    %ecx,%ecx
45cf68:	e8 9f ee ff ff       	call   0x45be0c
45cf6d:	89 45 f4             	mov    %eax,-0xc(%ebp)
45cf70:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45cf74:	0f 84 fa 00 00 00    	je     0x45d074
45cf7a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cf7d:	8b 40 10             	mov    0x10(%eax),%eax
45cf80:	50                   	push   %eax
45cf81:	e8 ba ab fa ff       	call   0x407b40
45cf86:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45cf89:	33 c0                	xor    %eax,%eax
45cf8b:	55                   	push   %ebp
45cf8c:	68 6d d0 45 00       	push   $0x45d06d
45cf91:	64 ff 30             	push   %fs:(%eax)
45cf94:	64 89 20             	mov    %esp,%fs:(%eax)
45cf97:	b2 01                	mov    $0x1,%dl
45cf99:	a1 f8 34 44 00       	mov    0x4434f8,%eax
45cf9e:	e8 31 b4 fc ff       	call   0x4283d4
45cfa3:	89 45 ec             	mov    %eax,-0x14(%ebp)
45cfa6:	33 c0                	xor    %eax,%eax
45cfa8:	55                   	push   %ebp
45cfa9:	68 48 d0 45 00       	push   $0x45d048
45cfae:	64 ff 30             	push   %fs:(%eax)
45cfb1:	64 89 20             	mov    %esp,%fs:(%eax)
45cfb4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45cfb7:	50                   	push   %eax
45cfb8:	e8 33 a7 fa ff       	call   0x4076f0
45cfbd:	89 45 e8             	mov    %eax,-0x18(%ebp)
45cfc0:	33 c0                	xor    %eax,%eax
45cfc2:	55                   	push   %ebp
45cfc3:	68 2b d0 45 00       	push   $0x45d02b
45cfc8:	64 ff 30             	push   %fs:(%eax)
45cfcb:	64 89 20             	mov    %esp,%fs:(%eax)
45cfce:	8b 55 e4             	mov    -0x1c(%ebp),%edx
45cfd1:	8b 45 ec             	mov    -0x14(%ebp),%eax
45cfd4:	e8 67 bd fc ff       	call   0x428d40
45cfd9:	a1 64 72 6a 00       	mov    0x6a7264,%eax
45cfde:	8b 00                	mov    (%eax),%eax
45cfe0:	8b 90 88 00 00 00    	mov    0x88(%eax),%edx
45cfe6:	8b 45 ec             	mov    -0x14(%ebp),%eax
45cfe9:	e8 ce bb fc ff       	call   0x428bbc
45cfee:	8b 45 d8             	mov    -0x28(%ebp),%eax
45cff1:	83 c0 10             	add    $0x10,%eax
45cff4:	50                   	push   %eax
45cff5:	8b 45 d8             	mov    -0x28(%ebp),%eax
45cff8:	8d 48 0c             	lea    0xc(%eax),%ecx
45cffb:	8b 55 ec             	mov    -0x14(%ebp),%edx
45cffe:	8b 45 f4             	mov    -0xc(%ebp),%eax
45d001:	8b 18                	mov    (%eax),%ebx
45d003:	ff 53 38             	call   *0x38(%ebx)
45d006:	33 c0                	xor    %eax,%eax
45d008:	5a                   	pop    %edx
45d009:	59                   	pop    %ecx
45d00a:	59                   	pop    %ecx
45d00b:	64 89 10             	mov    %edx,%fs:(%eax)
45d00e:	68 32 d0 45 00       	push   $0x45d032
45d013:	33 d2                	xor    %edx,%edx
45d015:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d018:	e8 23 bd fc ff       	call   0x428d40
45d01d:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d020:	50                   	push   %eax
45d021:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45d024:	50                   	push   %eax
45d025:	e8 b6 a6 fa ff       	call   0x4076e0