46b8c6:	e8 61 80 f9 ff       	call   0x40392c
46b8cb:	6a 5b                	push   $0x5b
46b8cd:	68 4c c5 4a 00       	push   $0x4ac54c
46b8d2:	6a 02                	push   $0x2
46b8d4:	6a 01                	push   $0x1
46b8d6:	68 80 01 00 00       	push   $0x180
46b8db:	e8 22 5f f9 ff       	call   0x401802
46b8e0:	83 c4 14             	add    $0x14,%esp
46b8e3:	50                   	push   %eax
46b8e4:	8d 4d bc             	lea    -0x44(%ebp),%ecx
46b8e7:	e8 c7 7b f9 ff       	call   0x4034b3
46b8ec:	8b c8                	mov    %eax,%ecx
46b8ee:	e8 3d 81 f9 ff       	call   0x403a30
46b8f3:	89 45 d8             	mov    %eax,-0x28(%ebp)
46b8f6:	8d 4d bc             	lea    -0x44(%ebp),%ecx
46b8f9:	e8 f7 7f f9 ff       	call   0x4038f5
46b8fe:	6a 5c                	push   $0x5c
46b900:	68 4c c5 4a 00       	push   $0x4ac54c
46b905:	6a 02                	push   $0x2
46b907:	6a 01                	push   $0x1
46b909:	68 80 01 00 00       	push   $0x180
46b90e:	e8 ef 5e f9 ff       	call   0x401802
46b913:	83 c4 14             	add    $0x14,%esp
46b916:	50                   	push   %eax
46b917:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
46b91a:	e8 94 7b f9 ff       	call   0x4034b3
46b91f:	8b c8                	mov    %eax,%ecx
46b921:	e8 0a 81 f9 ff       	call   0x403a30
46b926:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46b929:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
46b92c:	e8 c4 7f f9 ff       	call   0x4038f5
46b931:	6a 5d                	push   $0x5d
46b933:	68 4c c5 4a 00       	push   $0x4ac54c
46b938:	6a 02                	push   $0x2
46b93a:	6a 01                	push   $0x1
46b93c:	68 01 01 00 00       	push   $0x101
46b941:	e8 bc 5e f9 ff       	call   0x401802
46b946:	83 c4 14             	add    $0x14,%esp
46b949:	50                   	push   %eax
46b94a:	8d 4d c0             	lea    -0x40(%ebp),%ecx
46b94d:	e8 61 7b f9 ff       	call   0x4034b3
46b952:	8b c8                	mov    %eax,%ecx
46b954:	e8 d7 80 f9 ff       	call   0x403a30
46b959:	89 45 d0             	mov    %eax,-0x30(%ebp)
46b95c:	8d 4d c0             	lea    -0x40(%ebp),%ecx
46b95f:	e8 91 7f f9 ff       	call   0x4038f5
46b964:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
46b968:	74 18                	je     0x46b982
46b96a:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
46b96e:	74 12                	je     0x46b982
46b970:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
46b974:	74 0c                	je     0x46b982
46b976:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
46b97a:	74 06                	je     0x46b982
46b97c:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
46b980:	75 05                	jne    0x46b987
46b982:	e9 e7 03 00 00       	jmp    0x46bd6e
46b987:	8b 45 d0             	mov    -0x30(%ebp),%eax
46b98a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46b98d:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
46b994:	eb 09                	jmp    0x46b99f
46b996:	8b 4d e0             	mov    -0x20(%ebp),%ecx
46b999:	83 c1 01             	add    $0x1,%ecx
46b99c:	89 4d e0             	mov    %ecx,-0x20(%ebp)
46b99f:	81 7d e0 00 01 00 00 	cmpl   $0x100,-0x20(%ebp)
46b9a6:	7d 13                	jge    0x46b9bb
46b9a8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46b9ab:	8a 45 e0             	mov    -0x20(%ebp),%al
46b9ae:	88 02                	mov    %al,(%edx)
46b9b0:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46b9b3:	83 c1 01             	add    $0x1,%ecx
46b9b6:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46b9b9:	eb db                	jmp    0x46b996
46b9bb:	8d 55 e8             	lea    -0x18(%ebp),%edx
46b9be:	52                   	push   %edx
46b9bf:	8b 45 08             	mov    0x8(%ebp),%eax
46b9c2:	8b 48 08             	mov    0x8(%eax),%ecx
46b9c5:	51                   	push   %ecx
46b9c6:	ff 15 68 c2 4f 00    	call   *0x4fc268
46b9cc:	85 c0                	test   %eax,%eax
46b9ce:	75 05                	jne    0x46b9d5
46b9d0:	e9 99 03 00 00       	jmp    0x46bd6e
46b9d5:	83 7d e8 05          	cmpl   $0x5,-0x18(%ebp)
46b9d9:	76 05                	jbe    0x46b9e0
46b9db:	e9 8e 03 00 00       	jmp    0x46bd6e
46b9e0:	0f b7 55 e8          	movzwl -0x18(%ebp),%edx
46b9e4:	89 55 c8             	mov    %edx,-0x38(%ebp)
46b9e7:	6a 00                	push   $0x0
46b9e9:	8b 45 08             	mov    0x8(%ebp),%eax
46b9ec:	8b 48 08             	mov    0x8(%eax),%ecx
46b9ef:	51                   	push   %ecx
46b9f0:	68 ff 00 00 00       	push   $0xff
46b9f5:	8b 55 d8             	mov    -0x28(%ebp),%edx
46b9f8:	81 c2 81 00 00 00    	add    $0x81,%edx
46b9fe:	52                   	push   %edx
46b9ff:	68 ff 00 00 00       	push   $0xff
46ba04:	8b 45 d0             	mov    -0x30(%ebp),%eax
46ba07:	83 c0 01             	add    $0x1,%eax
46ba0a:	50                   	push   %eax
46ba0b:	68 00 01 00 00       	push   $0x100
46ba10:	b9 04 00 00 00       	mov    $0x4,%ecx
46ba15:	d1 e1                	shl    $1,%ecx
46ba17:	8b 55 08             	mov    0x8(%ebp),%edx
46ba1a:	8b 84 0a a0 00 00 00 	mov    0xa0(%edx,%ecx,1),%eax
46ba21:	50                   	push   %eax
46ba22:	6a 00                	push   $0x0
46ba24:	e8 78 82 f9 ff       	call   0x403ca1
46ba29:	83 c4 24             	add    $0x24,%esp
46ba2c:	85 c0                	test   %eax,%eax
46ba2e:	75 05                	jne    0x46ba35
46ba30:	e9 39 03 00 00       	jmp    0x46bd6e
46ba35:	6a 00                	push   $0x0
46ba37:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ba3a:	8b 51 08             	mov    0x8(%ecx),%edx
46ba3d:	52                   	push   %edx
46ba3e:	68 ff 00 00 00       	push   $0xff
46ba43:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46ba46:	05 81 00 00 00       	add    $0x81,%eax
46ba4b:	50                   	push   %eax
46ba4c:	68 ff 00 00 00       	push   $0xff
46ba51:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46ba54:	83 c1 01             	add    $0x1,%ecx
46ba57:	51                   	push   %ecx
46ba58:	68 00 02 00 00       	push   $0x200
46ba5d:	ba 04 00 00 00       	mov    $0x4,%edx
46ba62:	d1 e2                	shl    $1,%edx
46ba64:	8b 45 08             	mov    0x8(%ebp),%eax
46ba67:	8b 8c 10 a0 00 00 00 	mov    0xa0(%eax,%edx,1),%ecx
46ba6e:	51                   	push   %ecx
46ba6f:	6a 00                	push   $0x0
46ba71:	e8 2b 82 f9 ff       	call   0x403ca1
46ba76:	83 c4 24             	add    $0x24,%esp
46ba79:	85 c0                	test   %eax,%eax
46ba7b:	75 05                	jne    0x46ba82
46ba7d:	e9 ec 02 00 00       	jmp    0x46bd6e
46ba82:	83 7d c8 01          	cmpl   $0x1,-0x38(%ebp)
46ba86:	7e 75                	jle    0x46bafd
46ba88:	8d 55 ee             	lea    -0x12(%ebp),%edx
46ba8b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
46ba8e:	eb 09                	jmp    0x46ba99
46ba90:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46ba93:	83 c0 02             	add    $0x2,%eax
46ba96:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46ba99:	b9 01 00 00 00       	mov    $0x1,%ecx
46ba9e:	6b d1 00             	imul   $0x0,%ecx,%edx
46baa1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46baa4:	0f b6 0c 10          	movzbl (%eax,%edx,1),%ecx
46baa8:	85 c9                	test   %ecx,%ecx
46baaa:	74 51                	je     0x46bafd
46baac:	ba 01 00 00 00       	mov    $0x1,%edx
46bab1:	c1 e2 00             	shl    $0x0,%edx
46bab4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46bab7:	0f b6 0c 10          	movzbl (%eax,%edx,1),%ecx
46babb:	85 c9                	test   %ecx,%ecx
46babd:	74 3e                	je     0x46bafd
46babf:	ba 01 00 00 00       	mov    $0x1,%edx
46bac4:	6b c2 00             	imul   $0x0,%edx,%eax
46bac7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46baca:	0f b6 14 01          	movzbl (%ecx,%eax,1),%edx
46bace:	89 55 e0             	mov    %edx,-0x20(%ebp)
46bad1:	eb 09                	jmp    0x46badc
46bad3:	8b 45 e0             	mov    -0x20(%ebp),%eax
46bad6:	83 c0 01             	add    $0x1,%eax
46bad9:	89 45 e0             	mov    %eax,-0x20(%ebp)
46badc:	b9 01 00 00 00       	mov    $0x1,%ecx
46bae1:	c1 e1 00             	shl    $0x0,%ecx
46bae4:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46bae7:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
46baeb:	39 45 e0             	cmp    %eax,-0x20(%ebp)
46baee:	7f 0b                	jg     0x46bafb
46baf0:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46baf3:	03 4d e0             	add    -0x20(%ebp),%ecx
46baf6:	c6 01 20             	movb   $0x20,(%ecx)
46baf9:	eb d8                	jmp    0x46bad3
46bafb:	eb 93                	jmp    0x46ba90
46bafd:	6a 00                	push   $0x0
46baff:	8b 55 08             	mov    0x8(%ebp),%edx
46bb02:	8b 42 08             	mov    0x8(%edx),%eax
46bb05:	50                   	push   %eax
46bb06:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46bb09:	81 c1 00 01 00 00    	add    $0x100,%ecx
46bb0f:	51                   	push   %ecx
46bb10:	68 00 01 00 00       	push   $0x100
46bb15:	8b 55 d0             	mov    -0x30(%ebp),%edx
46bb18:	52                   	push   %edx
46bb19:	6a 01                	push   $0x1
46bb1b:	6a 00                	push   $0x0
46bb1d:	e8 84 81 f9 ff       	call   0x403ca6
46bb22:	83 c4 1c             	add    $0x1c,%esp
46bb25:	85 c0                	test   %eax,%eax
46bb27:	75 05                	jne    0x46bb2e
46bb29:	e9 40 02 00 00       	jmp    0x46bd6e
46bb2e:	b8 02 00 00 00       	mov    $0x2,%eax
46bb33:	6b c8 7f             	imul   $0x7f,%eax,%ecx
46bb36:	33 d2                	xor    %edx,%edx
46bb38:	8b 45 dc             	mov    -0x24(%ebp),%eax
46bb3b:	66 89 14 08          	mov    %dx,(%eax,%ecx,1)
46bb3f:	b9 01 00 00 00       	mov    $0x1,%ecx
46bb44:	6b d1 7f             	imul   $0x7f,%ecx,%edx
46bb47:	8b 45 d8             	mov    -0x28(%ebp),%eax
46bb4a:	c6 04 10 00          	movb   $0x0,(%eax,%edx,1)
46bb4e:	b9 01 00 00 00       	mov    $0x1,%ecx
46bb53:	6b d1 7f             	imul   $0x7f,%ecx,%edx
46bb56:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46bb59:	c6 04 10 00          	movb   $0x0,(%eax,%edx,1)
46bb5d:	b9 01 00 00 00       	mov    $0x1,%ecx
46bb62:	c1 e1 07             	shl    $0x7,%ecx
46bb65:	8b 55 d8             	mov    -0x28(%ebp),%edx
46bb68:	c6 04 0a 00          	movb   $0x0,(%edx,%ecx,1)
46bb6c:	b8 01 00 00 00       	mov    $0x1,%eax
46bb71:	c1 e0 07             	shl    $0x7,%eax
46bb74:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
46bb77:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
46bb7b:	83 7d c8 01          	cmpl   $0x1,-0x38(%ebp)
46bb7f:	7e 7f                	jle    0x46bc00
46bb81:	8d 55 ee             	lea    -0x12(%ebp),%edx
46bb84:	89 55 e4             	mov    %edx,-0x1c(%ebp)
46bb87:	eb 09                	jmp    0x46bb92
46bb89:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46bb8c:	83 c0 02             	add    $0x2,%eax
46bb8f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46bb92:	b9 01 00 00 00       	mov    $0x1,%ecx
46bb97:	6b d1 00             	imul   $0x0,%ecx,%edx
46bb9a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46bb9d:	0f b6 0c 10          	movzbl (%eax,%edx,1),%ecx
46bba1:	85 c9                	test   %ecx,%ecx
46bba3:	74 5b                	je     0x46bc00
46bba5:	ba 01 00 00 00       	mov    $0x1,%edx
46bbaa:	c1 e2 00             	shl    $0x0,%edx
46bbad:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46bbb0:	0f b6 0c 10          	movzbl (%eax,%edx,1),%ecx
46bbb4:	85 c9                	test   %ecx,%ecx
46bbb6:	74 48                	je     0x46bc00
46bbb8:	ba 01 00 00 00       	mov    $0x1,%edx
46bbbd:	6b c2 00             	imul   $0x0,%edx,%eax
46bbc0:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46bbc3:	0f b6 14 01          	movzbl (%ecx,%eax,1),%edx
46bbc7:	89 55 e0             	mov    %edx,-0x20(%ebp)
46bbca:	eb 09                	jmp    0x46bbd5
46bbcc:	8b 45 e0             	mov    -0x20(%ebp),%eax
46bbcf:	83 c0 01             	add    $0x1,%eax
46bbd2:	89 45 e0             	mov    %eax,-0x20(%ebp)
46bbd5:	b9 01 00 00 00       	mov    $0x1,%ecx
46bbda:	c1 e1 00             	shl    $0x0,%ecx
46bbdd:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46bbe0:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
46bbe4:	39 45 e0             	cmp    %eax,-0x20(%ebp)
46bbe7:	7f 15                	jg     0x46bbfe
46bbe9:	b9 00 80 00 00       	mov    $0x8000,%ecx
46bbee:	8b 55 e0             	mov    -0x20(%ebp),%edx
46bbf1:	8b 45 dc             	mov    -0x24(%ebp),%eax
46bbf4:	66 89 8c 50 00 01 00 	mov    %cx,0x100(%eax,%edx,2)
46bbfb:	00
46bbfc:	eb ce                	jmp    0x46bbcc
46bbfe:	eb 89                	jmp    0x46bb89
46bc00:	68 fe 00 00 00       	push   $0xfe
46bc05:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46bc08:	81 c1 00 02 00 00    	add    $0x200,%ecx
46bc0e:	51                   	push   %ecx
46bc0f:	8b 55 dc             	mov    -0x24(%ebp),%edx
46bc12:	52                   	push   %edx
46bc13:	e8 99 75 f9 ff       	call   0x4031b1
46bc18:	83 c4 0c             	add    $0xc,%esp
46bc1b:	6a 7f                	push   $0x7f
46bc1d:	8b 45 d8             	mov    -0x28(%ebp),%eax
46bc20:	05 00 01 00 00       	add    $0x100,%eax
46bc25:	50                   	push   %eax
46bc26:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46bc29:	51                   	push   %ecx
46bc2a:	e8 82 75 f9 ff       	call   0x4031b1
46bc2f:	83 c4 0c             	add    $0xc,%esp
46bc32:	6a 7f                	push   $0x7f
46bc34:	8b 55 d4             	mov    -0x2c(%ebp),%edx
46bc37:	81 c2 00 01 00 00    	add    $0x100,%edx
46bc3d:	52                   	push   %edx
46bc3e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46bc41:	50                   	push   %eax
46bc42:	e8 6a 75 f9 ff       	call   0x4031b1
46bc47:	83 c4 0c             	add    $0xc,%esp
46bc4a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bc4d:	83 b9 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ecx)
46bc54:	0f 84 9f 00 00 00    	je     0x46bcf9
46bc5a:	8b 55 08             	mov    0x8(%ebp),%edx
46bc5d:	8b 82 8c 00 00 00    	mov    0x8c(%edx),%eax
46bc63:	83 c9 ff             	or     $0xffffffff,%ecx
46bc66:	f0 0f c1 08          	lock xadd %ecx,(%eax)
46bc6a:	49                   	dec    %ecx
46bc6b:	0f 85 88 00 00 00    	jne    0x46bcf9
46bc71:	33 d2                	xor    %edx,%edx
46bc73:	75 23                	jne    0x46bc98
46bc75:	6a 00                	push   $0x0
46bc77:	68 60 83 49 00       	push   $0x498360
46bc7c:	6a 00                	push   $0x0
46bc7e:	68 b8 00 00 00       	push   $0xb8
46bc83:	68 90 c5 4a 00       	push   $0x4ac590
46bc88:	6a 02                	push   $0x2
46bc8a:	e8 b8 5c f9 ff       	call   0x401947
46bc8f:	83 c4 18             	add    $0x18,%esp
46bc92:	83 f8 01             	cmp    $0x1,%eax
46bc95:	75 01                	jne    0x46bc98
46bc97:	cc                   	int3
46bc98:	6a 02                	push   $0x2
46bc9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bc9d:	8b 91 90 00 00 00    	mov    0x90(%ecx),%edx
46bca3:	81 ea fe 00 00 00    	sub    $0xfe,%edx
46bca9:	52                   	push   %edx
46bcaa:	e8 63 7d f9 ff       	call   0x403a12
46bcaf:	83 c4 08             	add    $0x8,%esp
46bcb2:	6a 02                	push   $0x2
46bcb4:	8b 45 08             	mov    0x8(%ebp),%eax
46bcb7:	8b 88 94 00 00 00    	mov    0x94(%eax),%ecx
46bcbd:	81 e9 80 00 00 00    	sub    $0x80,%ecx
46bcc3:	51                   	push   %ecx
46bcc4:	e8 49 7d f9 ff       	call   0x403a12
46bcc9:	83 c4 08             	add    $0x8,%esp
46bccc:	6a 02                	push   $0x2
46bcce:	8b 55 08             	mov    0x8(%ebp),%edx
46bcd1:	8b 82 98 00 00 00    	mov    0x98(%edx),%eax
46bcd7:	2d 80 00 00 00       	sub    $0x80,%eax
46bcdc:	50                   	push   %eax
46bcdd:	e8 30 7d f9 ff       	call   0x403a12
46bce2:	83 c4 08             	add    $0x8,%esp
46bce5:	6a 02                	push   $0x2
46bce7:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bcea:	8b 91 8c 00 00 00    	mov    0x8c(%ecx),%edx
46bcf0:	52                   	push   %edx
46bcf1:	e8 1c 7d f9 ff       	call   0x403a12
46bcf6:	83 c4 08             	add    $0x8,%esp
46bcf9:	8b 45 cc             	mov    -0x34(%ebp),%eax
46bcfc:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
46bd02:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bd05:	8b 55 cc             	mov    -0x34(%ebp),%edx
46bd08:	89 91 8c 00 00 00    	mov    %edx,0x8c(%ecx)
46bd0e:	8b 45 dc             	mov    -0x24(%ebp),%eax
46bd11:	05 00 01 00 00       	add    $0x100,%eax
46bd16:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bd19:	89 01                	mov    %eax,(%ecx)
46bd1b:	8b 55 dc             	mov    -0x24(%ebp),%edx
46bd1e:	81 c2 fe 00 00 00    	add    $0xfe,%edx
46bd24:	8b 45 08             	mov    0x8(%ebp),%eax
46bd27:	89 90 90 00 00 00    	mov    %edx,0x90(%eax)
46bd2d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46bd30:	81 c1 80 00 00 00    	add    $0x80,%ecx
46bd36:	8b 55 08             	mov    0x8(%ebp),%edx
46bd39:	89 8a 94 00 00 00    	mov    %ecx,0x94(%edx)
46bd3f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46bd42:	05 80 00 00 00       	add    $0x80,%eax
46bd47:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bd4a:	89 81 98 00 00 00    	mov    %eax,0x98(%ecx)
46bd50:	8b 55 08             	mov    0x8(%ebp),%edx