412f56:	c1 f9 05             	sar    $0x5,%ecx
412f59:	8d 14 c0             	lea    (%eax,%eax,8),%edx
412f5c:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
412f63:	f6 44 90 04 01       	testb  $0x1,0x4(%eax,%edx,4)
412f68:	74 22                	je     0x412f8c
412f6a:	56                   	push   %esi
412f6b:	e8 d0 fd ff ff       	call   0x412d40
412f70:	83 c4 04             	add    $0x4,%esp
412f73:	56                   	push   %esi
412f74:	e8 37 00 00 00       	call   0x412fb0
412f79:	83 c4 04             	add    $0x4,%esp
412f7c:	8b f8                	mov    %eax,%edi
412f7e:	56                   	push   %esi
412f7f:	e8 2c fe ff ff       	call   0x412db0
412f84:	83 c4 04             	add    $0x4,%esp
412f87:	8b c7                	mov    %edi,%eax
412f89:	5f                   	pop    %edi
412f8a:	5e                   	pop    %esi
412f8b:	c3                   	ret
412f8c:	e8 ff a6 ff ff       	call   0x40d690
412f91:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412f97:	e8 04 a7 ff ff       	call   0x40d6a0
412f9c:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
412fa2:	5f                   	pop    %edi
412fa3:	83 c8 ff             	or     $0xffffffff,%eax
412fa6:	5e                   	pop    %esi
412fa7:	c3                   	ret
412fa8:	90                   	nop
412fa9:	90                   	nop
412faa:	90                   	nop
412fab:	90                   	nop
412fac:	90                   	nop
412fad:	90                   	nop
412fae:	90                   	nop
412faf:	90                   	nop
412fb0:	56                   	push   %esi
412fb1:	8b 74 24 08          	mov    0x8(%esp),%esi
412fb5:	57                   	push   %edi
412fb6:	56                   	push   %esi
412fb7:	e8 34 fd ff ff       	call   0x412cf0
412fbc:	83 c4 04             	add    $0x4,%esp
412fbf:	83 f8 ff             	cmp    $0xffffffff,%eax
412fc2:	74 42                	je     0x413006
412fc4:	83 fe 01             	cmp    $0x1,%esi
412fc7:	74 05                	je     0x412fce
412fc9:	83 fe 02             	cmp    $0x2,%esi
412fcc:	75 1a                	jne    0x412fe8
412fce:	6a 01                	push   $0x1
412fd0:	e8 1b fd ff ff       	call   0x412cf0
412fd5:	83 c4 04             	add    $0x4,%esp
412fd8:	8b f8                	mov    %eax,%edi
412fda:	6a 02                	push   $0x2
412fdc:	e8 0f fd ff ff       	call   0x412cf0
412fe1:	83 c4 04             	add    $0x4,%esp
412fe4:	3b f8                	cmp    %eax,%edi
412fe6:	74 1e                	je     0x413006
412fe8:	56                   	push   %esi
412fe9:	e8 02 fd ff ff       	call   0x412cf0
412fee:	83 c4 04             	add    $0x4,%esp
412ff1:	50                   	push   %eax
412ff2:	ff 15 50 97 43 00    	call   *0x439750
412ff8:	85 c0                	test   %eax,%eax
412ffa:	75 0a                	jne    0x413006
412ffc:	ff 15 ec 96 43 00    	call   *0x4396ec
413002:	8b f8                	mov    %eax,%edi
413004:	eb 02                	jmp    0x413008
413006:	33 ff                	xor    %edi,%edi
413008:	56                   	push   %esi
413009:	e8 42 fc ff ff       	call   0x412c50
41300e:	8b c6                	mov    %esi,%eax
413010:	83 e6 1f             	and    $0x1f,%esi
413013:	c1 f8 05             	sar    $0x5,%eax
413016:	8d 0c f6             	lea    (%esi,%esi,8),%ecx
413019:	83 c4 04             	add    $0x4,%esp
41301c:	8b 14 85 a0 89 43 00 	mov    0x4389a0(,%eax,4),%edx
413023:	85 ff                	test   %edi,%edi
413025:	c6 44 8a 04 00       	movb   $0x0,0x4(%edx,%ecx,4)
41302a:	74 0f                	je     0x41303b
41302c:	57                   	push   %edi
41302d:	e8 de a5 ff ff       	call   0x40d610
413032:	83 c4 04             	add    $0x4,%esp
413035:	83 c8 ff             	or     $0xffffffff,%eax
413038:	5f                   	pop    %edi
413039:	5e                   	pop    %esi
41303a:	c3                   	ret
41303b:	5f                   	pop    %edi
41303c:	33 c0                	xor    %eax,%eax
41303e:	5e                   	pop    %esi
41303f:	c3                   	ret
413040:	56                   	push   %esi
413041:	8b 74 24 08          	mov    0x8(%esp),%esi
413045:	8b 46 0c             	mov    0xc(%esi),%eax
413048:	a8 83                	test   $0x83,%al
41304a:	74 25                	je     0x413071
41304c:	a8 08                	test   $0x8,%al
41304e:	74 21                	je     0x413071
413050:	8b 46 08             	mov    0x8(%esi),%eax
413053:	50                   	push   %eax
413054:	e8 37 95 ff ff       	call   0x40c590
413059:	8b 46 0c             	mov    0xc(%esi),%eax
41305c:	83 c4 04             	add    $0x4,%esp
41305f:	25 f7 fb ff ff       	and    $0xfffffbf7,%eax
413064:	89 46 0c             	mov    %eax,0xc(%esi)
413067:	33 c0                	xor    %eax,%eax
413069:	89 06                	mov    %eax,(%esi)
41306b:	89 46 08             	mov    %eax,0x8(%esi)
41306e:	89 46 04             	mov    %eax,0x4(%esi)
413071:	5e                   	pop    %esi
413072:	c3                   	ret
413073:	90                   	nop
413074:	90                   	nop
413075:	90                   	nop
413076:	90                   	nop
413077:	90                   	nop
413078:	90                   	nop
413079:	90                   	nop
41307a:	90                   	nop
41307b:	90                   	nop
41307c:	90                   	nop
41307d:	90                   	nop
41307e:	90                   	nop
41307f:	90                   	nop
413080:	ff 25 6c 96 43 00    	jmp    *0x43966c
413086:	ff 25 fc 97 43 00    	jmp    *0x4397fc
41308c:	ff 25 84 99 43 00    	jmp    *0x439984
413092:	ff 25 ac 99 43 00    	jmp    *0x4399ac
413098:	ff 25 a4 99 43 00    	jmp    *0x4399a4
41309e:	ff 25 a0 99 43 00    	jmp    *0x4399a0
4130a4:	ff 25 9c 99 43 00    	jmp    *0x43999c
4130aa:	cc                   	int3
4130ab:	cc                   	int3
4130ac:	cc                   	int3
4130ad:	cc                   	int3
4130ae:	cc                   	int3
4130af:	cc                   	int3
4130b0:	e8 0b 00 00 00       	call   0x4130c0
4130b5:	e9 66 0a 00 00       	jmp    0x413b20
4130ba:	90                   	nop
4130bb:	90                   	nop
4130bc:	90                   	nop
4130bd:	90                   	nop
4130be:	90                   	nop
4130bf:	90                   	nop
4130c0:	6a 00                	push   $0x0
4130c2:	b9 40 76 43 00       	mov    $0x437640,%ecx
4130c7:	e8 04 00 00 00       	call   0x4130d0
4130cc:	c3                   	ret
4130cd:	90                   	nop
4130ce:	90                   	nop
4130cf:	90                   	nop
4130d0:	8b c1                	mov    %ecx,%eax
4130d2:	c7 00 5c ca 42 00    	movl   $0x42ca5c,(%eax)
4130d8:	c2 04 00             	ret    $0x4
4130db:	90                   	nop
4130dc:	90                   	nop
4130dd:	90                   	nop
4130de:	90                   	nop
4130df:	90                   	nop
4130e0:	33 c0                	xor    %eax,%eax
4130e2:	c3                   	ret
4130e3:	90                   	nop
4130e4:	90                   	nop
4130e5:	90                   	nop
4130e6:	90                   	nop
4130e7:	90                   	nop
4130e8:	90                   	nop
4130e9:	90                   	nop
4130ea:	90                   	nop
4130eb:	90                   	nop
4130ec:	90                   	nop
4130ed:	90                   	nop
4130ee:	90                   	nop
4130ef:	90                   	nop
4130f0:	51                   	push   %ecx
4130f1:	53                   	push   %ebx
4130f2:	57                   	push   %edi
4130f3:	8b 7c 24 14          	mov    0x14(%esp),%edi
4130f7:	8b d9                	mov    %ecx,%ebx
4130f9:	85 ff                	test   %edi,%edi
4130fb:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
413102:	00
413103:	0f 8e 81 00 00 00    	jle    0x41318a
413109:	56                   	push   %esi
41310a:	55                   	push   %ebp
41310b:	8b 6c 24 18          	mov    0x18(%esp),%ebp
41310f:	8b 43 1c             	mov    0x1c(%ebx),%eax
413112:	8b 30                	mov    (%eax),%esi
413114:	85 f6                	test   %esi,%esi
413116:	74 47                	je     0x41315f
413118:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41311b:	8b 01                	mov    (%ecx),%eax
41311d:	85 c0                	test   %eax,%eax
41311f:	7e 3e                	jle    0x41315f
413121:	3b f8                	cmp    %eax,%edi
413123:	7d 02                	jge    0x413127
413125:	8b c7                	mov    %edi,%eax
413127:	8b c8                	mov    %eax,%ecx
413129:	8b fd                	mov    %ebp,%edi
41312b:	8b d1                	mov    %ecx,%edx
41312d:	03 e8                	add    %eax,%ebp
41312f:	c1 e9 02             	shr    $0x2,%ecx
413132:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
413134:	8b ca                	mov    %edx,%ecx
413136:	83 e1 03             	and    $0x3,%ecx
413139:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41313b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41313f:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
413143:	03 c8                	add    %eax,%ecx
413145:	2b f8                	sub    %eax,%edi
413147:	89 4c 24 10          	mov    %ecx,0x10(%esp)
41314b:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41314e:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
413152:	8b 31                	mov    (%ecx),%esi
413154:	2b f0                	sub    %eax,%esi
413156:	89 31                	mov    %esi,(%ecx)
413158:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41315b:	01 01                	add    %eax,(%ecx)
41315d:	eb 25                	jmp    0x413184
41315f:	8b 03                	mov    (%ebx),%eax
413161:	8b cb                	mov    %ebx,%ecx
413163:	ff 50 14             	call   *0x14(%eax)
413166:	33 c9                	xor    %ecx,%ecx
413168:	83 f8 ff             	cmp    $0xffffffff,%eax
41316b:	0f 94 c1             	sete   %cl
41316e:	84 c9                	test   %cl,%cl
413170:	75 16                	jne    0x413188
413172:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413176:	88 45 00             	mov    %al,0x0(%ebp)
413179:	45                   	inc    %ebp
41317a:	41                   	inc    %ecx
41317b:	4f                   	dec    %edi
41317c:	89 4c 24 10          	mov    %ecx,0x10(%esp)
413180:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
413184:	85 ff                	test   %edi,%edi
413186:	7f 87                	jg     0x41310f
413188:	5d                   	pop    %ebp
413189:	5e                   	pop    %esi
41318a:	8b 44 24 08          	mov    0x8(%esp),%eax
41318e:	5f                   	pop    %edi
41318f:	5b                   	pop    %ebx
413190:	59                   	pop    %ecx
413191:	c2 08 00             	ret    $0x8
413194:	90                   	nop
413195:	90                   	nop
413196:	90                   	nop
413197:	90                   	nop
413198:	90                   	nop
413199:	90                   	nop
41319a:	90                   	nop
41319b:	90                   	nop
41319c:	90                   	nop
41319d:	90                   	nop
41319e:	90                   	nop
41319f:	90                   	nop
4131a0:	51                   	push   %ecx
4131a1:	53                   	push   %ebx
4131a2:	56                   	push   %esi
4131a3:	8b 74 24 14          	mov    0x14(%esp),%esi
4131a7:	8b d9                	mov    %ecx,%ebx
4131a9:	85 f6                	test   %esi,%esi
4131ab:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
4131b2:	00
4131b3:	0f 8e 86 00 00 00    	jle    0x41323f
4131b9:	57                   	push   %edi
4131ba:	55                   	push   %ebp
4131bb:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4131bf:	8b 43 20             	mov    0x20(%ebx),%eax
4131c2:	8b 38                	mov    (%eax),%edi
4131c4:	85 ff                	test   %edi,%edi
4131c6:	74 49                	je     0x413211
4131c8:	8b 4b 30             	mov    0x30(%ebx),%ecx
4131cb:	8b 01                	mov    (%ecx),%eax
4131cd:	85 c0                	test   %eax,%eax
4131cf:	7e 40                	jle    0x413211
4131d1:	3b f0                	cmp    %eax,%esi
4131d3:	7d 02                	jge    0x4131d7
4131d5:	8b c6                	mov    %esi,%eax
4131d7:	8b c8                	mov    %eax,%ecx
4131d9:	8b f5                	mov    %ebp,%esi
4131db:	8b d1                	mov    %ecx,%edx
4131dd:	03 e8                	add    %eax,%ebp
4131df:	c1 e9 02             	shr    $0x2,%ecx
4131e2:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4131e4:	8b ca                	mov    %edx,%ecx
4131e6:	83 e1 03             	and    $0x3,%ecx
4131e9:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4131eb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4131ef:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4131f3:	03 c8                	add    %eax,%ecx
4131f5:	2b f8                	sub    %eax,%edi
4131f7:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4131fb:	8b 4b 30             	mov    0x30(%ebx),%ecx
4131fe:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
413202:	8b 31                	mov    (%ecx),%esi
413204:	2b f0                	sub    %eax,%esi
413206:	89 31                	mov    %esi,(%ecx)
413208:	8b 4b 20             	mov    0x20(%ebx),%ecx
41320b:	8b f7                	mov    %edi,%esi
41320d:	01 01                	add    %eax,(%ecx)
41320f:	eb 28                	jmp    0x413239
413211:	8b 03                	mov    (%ebx),%eax
413213:	33 c9                	xor    %ecx,%ecx
413215:	8a 4d 00             	mov    0x0(%ebp),%cl
413218:	51                   	push   %ecx
413219:	8b cb                	mov    %ebx,%ecx
41321b:	ff 50 04             	call   *0x4(%eax)
41321e:	33 d2                	xor    %edx,%edx
413220:	83 f8 ff             	cmp    $0xffffffff,%eax
413223:	0f 94 c2             	sete   %dl
413226:	84 d2                	test   %dl,%dl
413228:	75 13                	jne    0x41323d
41322a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41322e:	45                   	inc    %ebp
41322f:	41                   	inc    %ecx
413230:	4e                   	dec    %esi
413231:	89 4c 24 10          	mov    %ecx,0x10(%esp)
413235:	89 74 24 1c          	mov    %esi,0x1c(%esp)
413239:	85 f6                	test   %esi,%esi
41323b:	7f 82                	jg     0x4131bf
41323d:	5d                   	pop    %ebp
41323e:	5f                   	pop    %edi
41323f:	8b 44 24 08          	mov    0x8(%esp),%eax
413243:	5e                   	pop    %esi
413244:	5b                   	pop    %ebx
413245:	59                   	pop    %ecx
413246:	c2 08 00             	ret    $0x8
413249:	90                   	nop
41324a:	90                   	nop
41324b:	90                   	nop
41324c:	90                   	nop
41324d:	90                   	nop
41324e:	90                   	nop
41324f:	90                   	nop
413250:	c2 04 00             	ret    $0x4
413253:	90                   	nop
413254:	90                   	nop
413255:	90                   	nop
413256:	90                   	nop
413257:	90                   	nop
413258:	90                   	nop
413259:	90                   	nop
41325a:	90                   	nop
41325b:	90                   	nop
41325c:	90                   	nop
41325d:	90                   	nop
41325e:	90                   	nop
41325f:	90                   	nop
413260:	83 ec 0c             	sub    $0xc,%esp
413263:	33 c0                	xor    %eax,%eax
413265:	53                   	push   %ebx