40ba2d:	01 db                	add    %ebx,%ebx
40ba2f:	75 07                	jne    0x40ba38
40ba31:	8b 1e                	mov    (%esi),%ebx
40ba33:	83 ee fc             	sub    $0xfffffffc,%esi
40ba36:	11 db                	adc    %ebx,%ebx
40ba38:	11 c9                	adc    %ecx,%ecx
40ba3a:	01 db                	add    %ebx,%ebx
40ba3c:	73 ef                	jae    0x40ba2d
40ba3e:	75 09                	jne    0x40ba49
40ba40:	8b 1e                	mov    (%esi),%ebx
40ba42:	83 ee fc             	sub    $0xfffffffc,%esi
40ba45:	11 db                	adc    %ebx,%ebx
40ba47:	73 e4                	jae    0x40ba2d
40ba49:	83 c1 02             	add    $0x2,%ecx
40ba4c:	81 fd 00 f3 ff ff    	cmp    $0xfffff300,%ebp
40ba52:	83 d1 01             	adc    $0x1,%ecx
40ba55:	8d 14 2f             	lea    (%edi,%ebp,1),%edx
40ba58:	83 fd fc             	cmp    $0xfffffffc,%ebp
40ba5b:	76 0f                	jbe    0x40ba6c
40ba5d:	8a 02                	mov    (%edx),%al
40ba5f:	42                   	inc    %edx
40ba60:	88 07                	mov    %al,(%edi)
40ba62:	47                   	inc    %edi
40ba63:	49                   	dec    %ecx
40ba64:	75 f7                	jne    0x40ba5d
40ba66:	e9 63 ff ff ff       	jmp    0x40b9ce
40ba6b:	90                   	nop
40ba6c:	8b 02                	mov    (%edx),%eax
40ba6e:	83 c2 04             	add    $0x4,%edx
40ba71:	89 07                	mov    %eax,(%edi)
40ba73:	83 c7 04             	add    $0x4,%edi
40ba76:	83 e9 04             	sub    $0x4,%ecx
40ba79:	77 f1                	ja     0x40ba6c
40ba7b:	01 cf                	add    %ecx,%edi
40ba7d:	e9 4c ff ff ff       	jmp    0x40b9ce
40ba82:	5e                   	pop    %esi
40ba83:	89 f7                	mov    %esi,%edi
40ba85:	b9 01 00 00 00       	mov    $0x1,%ecx
40ba8a:	8a 07                	mov    (%edi),%al
40ba8c:	47                   	inc    %edi
40ba8d:	2c e8                	sub    $0xe8,%al
40ba8f:	3c 01                	cmp    $0x1,%al
40ba91:	77 f7                	ja     0x40ba8a
40ba93:	80 3f 00             	cmpb   $0x0,(%edi)
40ba96:	75 f2                	jne    0x40ba8a
40ba98:	8b 07                	mov    (%edi),%eax
40ba9a:	8a 5f 04             	mov    0x4(%edi),%bl
40ba9d:	66 c1 e8 08          	shr    $0x8,%ax
40baa1:	c1 c0 10             	rol    $0x10,%eax
40baa4:	86 c4                	xchg   %al,%ah
40baa6:	29 f8                	sub    %edi,%eax
40baa8:	80 eb e8             	sub    $0xe8,%bl
40baab:	01 f0                	add    %esi,%eax
40baad:	89 07                	mov    %eax,(%edi)
40baaf:	83 c7 05             	add    $0x5,%edi
40bab2:	88 d8                	mov    %bl,%al
40bab4:	e2 d9                	loop   0x40ba8f
40bab6:	8d be 00 90 00 00    	lea    0x9000(%esi),%edi
40babc:	8b 07                	mov    (%edi),%eax
40babe:	09 c0                	or     %eax,%eax
40bac0:	74 3c                	je     0x40bafe
40bac2:	8b 5f 04             	mov    0x4(%edi),%ebx
40bac5:	8d 84 30 ac d2 00 00 	lea    0xd2ac(%eax,%esi,1),%eax
40bacc:	01 f3                	add    %esi,%ebx
40bace:	50                   	push   %eax
40bacf:	83 c7 08             	add    $0x8,%edi
40bad2:	ff 96 50 d3 00 00    	call   *0xd350(%esi)
40bad8:	95                   	xchg   %eax,%ebp
40bad9:	8a 07                	mov    (%edi),%al
40badb:	47                   	inc    %edi
40badc:	08 c0                	or     %al,%al
40bade:	74 dc                	je     0x40babc
40bae0:	89 f9                	mov    %edi,%ecx
40bae2:	57                   	push   %edi
40bae3:	48                   	dec    %eax
40bae4:	f2 ae                	repnz scas %es:(%edi),%al
40bae6:	55                   	push   %ebp
40bae7:	ff 96 58 d3 00 00    	call   *0xd358(%esi)
40baed:	09 c0                	or     %eax,%eax
40baef:	74 07                	je     0x40baf8
40baf1:	89 03                	mov    %eax,(%ebx)
40baf3:	83 c3 04             	add    $0x4,%ebx
40baf6:	eb e1                	jmp    0x40bad9
40baf8:	ff 96 54 d3 00 00    	call   *0xd354(%esi)
40bafe:	8b ae 5c d3 00 00    	mov    0xd35c(%esi),%ebp
40bb04:	8d be 00 f0 ff ff    	lea    -0x1000(%esi),%edi
40bb0a:	bb 00 10 00 00       	mov    $0x1000,%ebx
40bb0f:	50                   	push   %eax
40bb10:	54                   	push   %esp
40bb11:	6a 04                	push   $0x4
40bb13:	53                   	push   %ebx
40bb14:	57                   	push   %edi
40bb15:	ff d5                	call   *%ebp
40bb17:	8d 87 9f 01 00 00    	lea    0x19f(%edi),%eax
40bb1d:	80 20 7f             	andb   $0x7f,(%eax)
40bb20:	80 60 28 7f          	andb   $0x7f,0x28(%eax)
40bb24:	58                   	pop    %eax
40bb25:	50                   	push   %eax
40bb26:	54                   	push   %esp
40bb27:	50                   	push   %eax
40bb28:	53                   	push   %ebx
40bb29:	57                   	push   %edi
40bb2a:	ff d5                	call   *%ebp
40bb2c:	58                   	pop    %eax
40bb2d:	61                   	popa
40bb2e:	8d 44 24 80          	lea    -0x80(%esp),%eax
40bb32:	6a 00                	push   $0x0
40bb34:	39 c4                	cmp    %eax,%esp
40bb36:	75 fa                	jne    0x40bb32
40bb38:	83 ec 80             	sub    $0xffffff80,%esp
40bb3b:	e9 88 59 ff ff       	jmp    0x4014c8