411e9f:	8b ec                	mov    %esp,%ebp
411ea1:	8b 45 08             	mov    0x8(%ebp),%eax
411ea4:	83 c0 20             	add    $0x20,%eax
411ea7:	50                   	push   %eax
411ea8:	ff 15 40 c1 41 00    	call   *0x41c140
411eae:	5d                   	pop    %ebp
411eaf:	c3                   	ret
411eb0:	8b ff                	mov    %edi,%edi
411eb2:	55                   	push   %ebp
411eb3:	8b ec                	mov    %esp,%ebp
411eb5:	8b 45 08             	mov    0x8(%ebp),%eax
411eb8:	83 c0 20             	add    $0x20,%eax
411ebb:	50                   	push   %eax
411ebc:	ff 15 3c c1 41 00    	call   *0x41c13c
411ec2:	5d                   	pop    %ebp
411ec3:	c3                   	ret
411ec4:	8b ff                	mov    %edi,%edi
411ec6:	55                   	push   %ebp
411ec7:	8b ec                	mov    %esp,%ebp
411ec9:	8b 4d 08             	mov    0x8(%ebp),%ecx
411ecc:	8b c1                	mov    %ecx,%eax
411ece:	53                   	push   %ebx
411ecf:	83 e0 10             	and    $0x10,%eax
411ed2:	bb 00 02 00 00       	mov    $0x200,%ebx
411ed7:	56                   	push   %esi
411ed8:	c1 e0 03             	shl    $0x3,%eax
411edb:	57                   	push   %edi
411edc:	f6 c1 08             	test   $0x8,%cl
411edf:	74 02                	je     0x411ee3
411ee1:	0b c3                	or     %ebx,%eax
411ee3:	f6 c1 04             	test   $0x4,%cl
411ee6:	74 05                	je     0x411eed
411ee8:	0d 00 04 00 00       	or     $0x400,%eax
411eed:	f6 c1 02             	test   $0x2,%cl
411ef0:	74 05                	je     0x411ef7
411ef2:	0d 00 08 00 00       	or     $0x800,%eax
411ef7:	f6 c1 01             	test   $0x1,%cl
411efa:	74 05                	je     0x411f01
411efc:	0d 00 10 00 00       	or     $0x1000,%eax
411f01:	be 00 01 00 00       	mov    $0x100,%esi
411f06:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
411f0c:	74 02                	je     0x411f10
411f0e:	0b c6                	or     %esi,%eax
411f10:	8b d1                	mov    %ecx,%edx
411f12:	bf 00 03 00 00       	mov    $0x300,%edi
411f17:	23 d7                	and    %edi,%edx
411f19:	74 1f                	je     0x411f3a
411f1b:	3b d6                	cmp    %esi,%edx
411f1d:	74 16                	je     0x411f35
411f1f:	3b d3                	cmp    %ebx,%edx
411f21:	74 0b                	je     0x411f2e
411f23:	3b d7                	cmp    %edi,%edx
411f25:	75 13                	jne    0x411f3a
411f27:	0d 00 60 00 00       	or     $0x6000,%eax
411f2c:	eb 0c                	jmp    0x411f3a
411f2e:	0d 00 40 00 00       	or     $0x4000,%eax
411f33:	eb 05                	jmp    0x411f3a
411f35:	0d 00 20 00 00       	or     $0x2000,%eax
411f3a:	ba 00 00 00 03       	mov    $0x3000000,%edx
411f3f:	5f                   	pop    %edi
411f40:	23 ca                	and    %edx,%ecx
411f42:	5e                   	pop    %esi
411f43:	5b                   	pop    %ebx
411f44:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
411f4a:	74 18                	je     0x411f64
411f4c:	81 f9 00 00 00 02    	cmp    $0x2000000,%ecx
411f52:	74 0b                	je     0x411f5f
411f54:	3b ca                	cmp    %edx,%ecx
411f56:	75 11                	jne    0x411f69
411f58:	0d 00 80 00 00       	or     $0x8000,%eax
411f5d:	5d                   	pop    %ebp
411f5e:	c3                   	ret
411f5f:	83 c8 40             	or     $0x40,%eax
411f62:	5d                   	pop    %ebp
411f63:	c3                   	ret
411f64:	0d 40 80 00 00       	or     $0x8040,%eax
411f69:	5d                   	pop    %ebp
411f6a:	c3                   	ret
411f6b:	8b ff                	mov    %edi,%edi
411f6d:	55                   	push   %ebp
411f6e:	8b ec                	mov    %esp,%ebp
411f70:	83 ec 0c             	sub    $0xc,%esp
411f73:	56                   	push   %esi
411f74:	dd 7d fc             	fnstsw -0x4(%ebp)
411f77:	db e2                	fnclex
411f79:	33 f6                	xor    %esi,%esi
411f7b:	46                   	inc    %esi
411f7c:	39 35 64 69 42 00    	cmp    %esi,0x426964
411f82:	0f 8c 82 00 00 00    	jl     0x41200a
411f88:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
411f8c:	33 c9                	xor    %ecx,%ecx
411f8e:	8b d1                	mov    %ecx,%edx
411f90:	57                   	push   %edi
411f91:	bf 00 00 08 00       	mov    $0x80000,%edi
411f96:	a8 3f                	test   $0x3f,%al
411f98:	74 29                	je     0x411fc3
411f9a:	0f b7 d0             	movzwl %ax,%edx
411f9d:	23 d6                	and    %esi,%edx
411f9f:	c1 e2 04             	shl    $0x4,%edx
411fa2:	a8 04                	test   $0x4,%al
411fa4:	74 03                	je     0x411fa9
411fa6:	83 ca 08             	or     $0x8,%edx
411fa9:	a8 08                	test   $0x8,%al
411fab:	74 03                	je     0x411fb0
411fad:	83 ca 04             	or     $0x4,%edx
411fb0:	a8 10                	test   $0x10,%al
411fb2:	74 03                	je     0x411fb7
411fb4:	83 ca 02             	or     $0x2,%edx
411fb7:	a8 20                	test   $0x20,%al
411fb9:	74 02                	je     0x411fbd
411fbb:	0b d6                	or     %esi,%edx
411fbd:	a8 02                	test   $0x2,%al
411fbf:	74 02                	je     0x411fc3
411fc1:	0b d7                	or     %edi,%edx
411fc3:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
411fc7:	8b 45 f8             	mov    -0x8(%ebp),%eax
411fca:	83 e0 c0             	and    $0xffffffc0,%eax
411fcd:	89 45 f4             	mov    %eax,-0xc(%ebp)
411fd0:	0f ae 55 f4          	ldmxcsr -0xc(%ebp)
411fd4:	8b 45 f8             	mov    -0x8(%ebp),%eax
411fd7:	a8 3f                	test   $0x3f,%al
411fd9:	74 28                	je     0x412003
411fdb:	8b c8                	mov    %eax,%ecx
411fdd:	23 ce                	and    %esi,%ecx
411fdf:	c1 e1 04             	shl    $0x4,%ecx
411fe2:	a8 04                	test   $0x4,%al
411fe4:	74 03                	je     0x411fe9
411fe6:	83 c9 08             	or     $0x8,%ecx
411fe9:	a8 08                	test   $0x8,%al
411feb:	74 03                	je     0x411ff0
411fed:	83 c9 04             	or     $0x4,%ecx
411ff0:	a8 10                	test   $0x10,%al
411ff2:	74 03                	je     0x411ff7
411ff4:	83 c9 02             	or     $0x2,%ecx
411ff7:	a8 20                	test   $0x20,%al
411ff9:	74 02                	je     0x411ffd
411ffb:	0b ce                	or     %esi,%ecx
411ffd:	a8 02                	test   $0x2,%al
411fff:	74 02                	je     0x412003
412001:	0b cf                	or     %edi,%ecx
412003:	0b ca                	or     %edx,%ecx
412005:	8b c1                	mov    %ecx,%eax
412007:	5f                   	pop    %edi
412008:	eb 3c                	jmp    0x412046
41200a:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
41200e:	33 c0                	xor    %eax,%eax
412010:	f6 c1 3f             	test   $0x3f,%cl
412013:	74 31                	je     0x412046
412015:	0f b7 c1             	movzwl %cx,%eax
412018:	23 c6                	and    %esi,%eax
41201a:	c1 e0 04             	shl    $0x4,%eax
41201d:	f6 c1 04             	test   $0x4,%cl
412020:	74 03                	je     0x412025
412022:	83 c8 08             	or     $0x8,%eax
412025:	f6 c1 08             	test   $0x8,%cl
412028:	74 03                	je     0x41202d
41202a:	83 c8 04             	or     $0x4,%eax
41202d:	f6 c1 10             	test   $0x10,%cl
412030:	74 03                	je     0x412035
412032:	83 c8 02             	or     $0x2,%eax
412035:	f6 c1 20             	test   $0x20,%cl
412038:	74 02                	je     0x41203c
41203a:	0b c6                	or     %esi,%eax
41203c:	f6 c1 02             	test   $0x2,%cl
41203f:	74 05                	je     0x412046
412041:	0d 00 00 08 00       	or     $0x80000,%eax
412046:	5e                   	pop    %esi
412047:	c9                   	leave
412048:	c3                   	ret
412049:	8b ff                	mov    %edi,%edi
41204b:	55                   	push   %ebp
41204c:	8b ec                	mov    %esp,%ebp
41204e:	83 ec 10             	sub    $0x10,%esp
412051:	9b d9 7d f8          	fstcw  -0x8(%ebp)
412055:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
412059:	0f b7 c8             	movzwl %ax,%ecx
41205c:	83 e1 01             	and    $0x1,%ecx
41205f:	c1 e1 04             	shl    $0x4,%ecx
412062:	a8 04                	test   $0x4,%al
412064:	74 03                	je     0x412069
412066:	83 c9 08             	or     $0x8,%ecx
412069:	a8 08                	test   $0x8,%al
41206b:	74 03                	je     0x412070
41206d:	83 c9 04             	or     $0x4,%ecx
412070:	a8 10                	test   $0x10,%al
412072:	74 03                	je     0x412077
412074:	83 c9 02             	or     $0x2,%ecx
412077:	a8 20                	test   $0x20,%al
412079:	74 03                	je     0x41207e
41207b:	83 c9 01             	or     $0x1,%ecx
41207e:	a8 02                	test   $0x2,%al
412080:	74 06                	je     0x412088
412082:	81 c9 00 00 08 00    	or     $0x80000,%ecx
412088:	53                   	push   %ebx
412089:	56                   	push   %esi
41208a:	0f b7 f0             	movzwl %ax,%esi
41208d:	bb 00 0c 00 00       	mov    $0xc00,%ebx
412092:	8b d6                	mov    %esi,%edx
412094:	57                   	push   %edi
412095:	bf 00 02 00 00       	mov    $0x200,%edi
41209a:	23 d3                	and    %ebx,%edx
41209c:	74 26                	je     0x4120c4
41209e:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4120a4:	74 18                	je     0x4120be
4120a6:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4120ac:	74 0c                	je     0x4120ba
4120ae:	3b d3                	cmp    %ebx,%edx
4120b0:	75 12                	jne    0x4120c4
4120b2:	81 c9 00 03 00 00    	or     $0x300,%ecx
4120b8:	eb 0a                	jmp    0x4120c4
4120ba:	0b cf                	or     %edi,%ecx
4120bc:	eb 06                	jmp    0x4120c4
4120be:	81 c9 00 01 00 00    	or     $0x100,%ecx
4120c4:	81 e6 00 03 00 00    	and    $0x300,%esi
4120ca:	74 0c                	je     0x4120d8
4120cc:	3b f7                	cmp    %edi,%esi
4120ce:	75 0e                	jne    0x4120de
4120d0:	81 c9 00 00 01 00    	or     $0x10000,%ecx
4120d6:	eb 06                	jmp    0x4120de
4120d8:	81 c9 00 00 02 00    	or     $0x20000,%ecx
4120de:	0f b7 c0             	movzwl %ax,%eax
4120e1:	ba 00 10 00 00       	mov    $0x1000,%edx
4120e6:	85 c2                	test   %eax,%edx
4120e8:	74 06                	je     0x4120f0
4120ea:	81 c9 00 00 04 00    	or     $0x40000,%ecx
4120f0:	8b 7d 0c             	mov    0xc(%ebp),%edi
4120f3:	8b f7                	mov    %edi,%esi
4120f5:	8b 45 08             	mov    0x8(%ebp),%eax
4120f8:	f7 d6                	not    %esi
4120fa:	23 f1                	and    %ecx,%esi
4120fc:	23 c7                	and    %edi,%eax
4120fe:	0b f0                	or     %eax,%esi
412100:	3b f1                	cmp    %ecx,%esi
412102:	0f 84 a8 00 00 00    	je     0x4121b0
412108:	56                   	push   %esi
412109:	e8 3c 02 00 00       	call   0x41234a
41210e:	59                   	pop    %ecx
41210f:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
412113:	d9 6d fc             	fldcw  -0x4(%ebp)
412116:	9b d9 7d fc          	fstcw  -0x4(%ebp)
41211a:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
41211e:	0f b7 f0             	movzwl %ax,%esi
412121:	83 e6 01             	and    $0x1,%esi
412124:	c1 e6 04             	shl    $0x4,%esi
412127:	a8 04                	test   $0x4,%al
412129:	74 03                	je     0x41212e
41212b:	83 ce 08             	or     $0x8,%esi
41212e:	a8 08                	test   $0x8,%al
412130:	74 03                	je     0x412135
412132:	83 ce 04             	or     $0x4,%esi
412135:	a8 10                	test   $0x10,%al
412137:	74 03                	je     0x41213c
412139:	83 ce 02             	or     $0x2,%esi
41213c:	a8 20                	test   $0x20,%al
41213e:	74 03                	je     0x412143
412140:	83 ce 01             	or     $0x1,%esi
412143:	a8 02                	test   $0x2,%al
412145:	74 06                	je     0x41214d
412147:	81 ce 00 00 08 00    	or     $0x80000,%esi
41214d:	0f b7 d0             	movzwl %ax,%edx
412150:	8b ca                	mov    %edx,%ecx
412152:	23 cb                	and    %ebx,%ecx
412154:	74 2a                	je     0x412180
412156:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
41215c:	74 1c                	je     0x41217a
41215e:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
412164:	74 0c                	je     0x412172
412166:	3b cb                	cmp    %ebx,%ecx
412168:	75 16                	jne    0x412180
41216a:	81 ce 00 03 00 00    	or     $0x300,%esi
412170:	eb 0e                	jmp    0x412180
412172:	81 ce 00 02 00 00    	or     $0x200,%esi
412178:	eb 06                	jmp    0x412180
41217a:	81 ce 00 01 00 00    	or     $0x100,%esi
412180:	81 e2 00 03 00 00    	and    $0x300,%edx
412186:	74 10                	je     0x412198
412188:	81 fa 00 02 00 00    	cmp    $0x200,%edx
41218e:	75 0e                	jne    0x41219e
412190:	81 ce 00 00 01 00    	or     $0x10000,%esi
412196:	eb 06                	jmp    0x41219e
412198:	81 ce 00 00 02 00    	or     $0x20000,%esi
41219e:	0f b7 c0             	movzwl %ax,%eax
4121a1:	ba 00 10 00 00       	mov    $0x1000,%edx
4121a6:	85 c2                	test   %eax,%edx
4121a8:	74 06                	je     0x4121b0
4121aa:	81 ce 00 00 04 00    	or     $0x40000,%esi
4121b0:	83 3d 64 69 42 00 01 	cmpl   $0x1,0x426964
4121b7:	0f 8c 86 01 00 00    	jl     0x412343
4121bd:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
4121c3:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
4121c7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4121ca:	8b c1                	mov    %ecx,%eax
4121cc:	c1 e8 03             	shr    $0x3,%eax
4121cf:	83 e0 10             	and    $0x10,%eax
4121d2:	f7 c1 00 02 00 00    	test   $0x200,%ecx
4121d8:	74 03                	je     0x4121dd
4121da:	83 c8 08             	or     $0x8,%eax
4121dd:	f7 c1 00 04 00 00    	test   $0x400,%ecx
4121e3:	74 03                	je     0x4121e8
4121e5:	83 c8 04             	or     $0x4,%eax
4121e8:	f7 c1 00 08 00 00    	test   $0x800,%ecx
4121ee:	74 03                	je     0x4121f3
4121f0:	83 c8 02             	or     $0x2,%eax
4121f3:	85 ca                	test   %ecx,%edx
4121f5:	74 03                	je     0x4121fa
4121f7:	83 c8 01             	or     $0x1,%eax
4121fa:	f7 c1 00 01 00 00    	test   $0x100,%ecx
412200:	74 05                	je     0x412207
412202:	0d 00 00 08 00       	or     $0x80000,%eax
412207:	8b d1                	mov    %ecx,%edx
412209:	bb 00 60 00 00       	mov    $0x6000,%ebx
41220e:	23 d3                	and    %ebx,%edx
412210:	74 27                	je     0x412239
412212:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
412218:	74 1a                	je     0x412234
41221a:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
412220:	74 0b                	je     0x41222d
412222:	3b d3                	cmp    %ebx,%edx
412224:	75 13                	jne    0x412239
412226:	0d 00 03 00 00       	or     $0x300,%eax
41222b:	eb 0c                	jmp    0x412239
41222d:	0d 00 02 00 00       	or     $0x200,%eax
412232:	eb 05                	jmp    0x412239
412234:	0d 00 01 00 00       	or     $0x100,%eax
412239:	6a 40                	push   $0x40
41223b:	81 e1 40 80 00 00    	and    $0x8040,%ecx
412241:	5b                   	pop    %ebx
412242:	2b cb                	sub    %ebx,%ecx
412244:	74 1a                	je     0x412260
412246:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
41224c:	74 0b                	je     0x412259
41224e:	2b cb                	sub    %ebx,%ecx
412250:	75 13                	jne    0x412265
412252:	0d 00 00 00 01       	or     $0x1000000,%eax
412257:	eb 0c                	jmp    0x412265
412259:	0d 00 00 00 03       	or     $0x3000000,%eax
41225e:	eb 05                	jmp    0x412265
412260:	0d 00 00 00 02       	or     $0x2000000,%eax
412265:	8b cf                	mov    %edi,%ecx
412267:	23 7d 08             	and    0x8(%ebp),%edi
41226a:	f7 d1                	not    %ecx
41226c:	23 c8                	and    %eax,%ecx
41226e:	0b cf                	or     %edi,%ecx
412270:	3b c8                	cmp    %eax,%ecx
412272:	0f 84 b4 00 00 00    	je     0x41232c
412278:	51                   	push   %ecx
412279:	e8 46 fc ff ff       	call   0x411ec4
41227e:	50                   	push   %eax
41227f:	89 45 f4             	mov    %eax,-0xc(%ebp)
412282:	e8 f6 26 00 00       	call   0x41497d