43404b:	85 f6                	test   %esi,%esi
43404d:	75 08                	jne    0x434057
43404f:	89 01                	mov    %eax,(%ecx)
434051:	8b d0                	mov    %eax,%edx
434053:	8b f0                	mov    %eax,%esi
434055:	eb 08                	jmp    0x43405f
434057:	6a 02                	push   $0x2
434059:	89 31                	mov    %esi,(%ecx)
43405b:	0f b7 36             	movzwl (%esi),%esi
43405e:	5a                   	pop    %edx
43405f:	51                   	push   %ecx
434060:	6a 02                	push   $0x2
434062:	50                   	push   %eax
434063:	50                   	push   %eax
434064:	89 71 08             	mov    %esi,0x8(%ecx)
434067:	57                   	push   %edi
434068:	89 51 0c             	mov    %edx,0xc(%ecx)
43406b:	ff 35 04 80 43 00    	push   0x438004
434071:	ff 35 00 80 43 00    	push   0x438000
434077:	ff 15 00 a5 43 00    	call   *0x43a500
43407d:	5f                   	pop    %edi
43407e:	5e                   	pop    %esi
43407f:	5d                   	pop    %ebp
434080:	c2 0c 00             	ret    $0xc
434083:	8b ff                	mov    %edi,%edi
434085:	55                   	push   %ebp
434086:	8b ec                	mov    %esp,%ebp
434088:	83 ec 24             	sub    $0x24,%esp
43408b:	a1 08 85 43 00       	mov    0x438508,%eax
434090:	33 c5                	xor    %ebp,%eax
434092:	89 45 fc             	mov    %eax,-0x4(%ebp)
434095:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
434099:	8d 45 08             	lea    0x8(%ebp),%eax
43409c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4340a0:	89 45 ec             	mov    %eax,-0x14(%ebp)
4340a3:	8d 45 dc             	lea    -0x24(%ebp),%eax
4340a6:	50                   	push   %eax
4340a7:	51                   	push   %ecx
4340a8:	51                   	push   %ecx
4340a9:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
4340b0:	e8 7f ff ff ff       	call   0x434034
4340b5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4340b8:	33 cd                	xor    %ebp,%ecx
4340ba:	e8 01 67 fe ff       	call   0x41a7c0
4340bf:	c9                   	leave
4340c0:	c2 04 00             	ret    $0x4
4340c3:	8b ff                	mov    %edi,%edi
4340c5:	55                   	push   %ebp
4340c6:	8b ec                	mov    %esp,%ebp
4340c8:	8b 45 08             	mov    0x8(%ebp),%eax
4340cb:	53                   	push   %ebx
4340cc:	56                   	push   %esi
4340cd:	8b f1                	mov    %ecx,%esi
4340cf:	33 db                	xor    %ebx,%ebx
4340d1:	57                   	push   %edi
4340d2:	89 5e 14             	mov    %ebx,0x14(%esi)
4340d5:	8b 08                	mov    (%eax),%ecx
4340d7:	8b d1                	mov    %ecx,%edx
4340d9:	8d 7a 02             	lea    0x2(%edx),%edi
4340dc:	66 8b 02             	mov    (%edx),%ax
4340df:	83 c2 02             	add    $0x2,%edx
4340e2:	66 3b c3             	cmp    %bx,%ax
4340e5:	75 f5                	jne    0x4340dc
4340e7:	2b d7                	sub    %edi,%edx
4340e9:	d1 fa                	sar    $1,%edx
4340eb:	8d 42 01             	lea    0x1(%edx),%eax
4340ee:	3b c2                	cmp    %edx,%eax
4340f0:	72 13                	jb     0x434105
4340f2:	52                   	push   %edx
4340f3:	50                   	push   %eax
4340f4:	51                   	push   %ecx
4340f5:	8b ce                	mov    %esi,%ecx
4340f7:	e8 1d 02 00 00       	call   0x434319
4340fc:	5f                   	pop    %edi
4340fd:	8b c6                	mov    %esi,%eax
4340ff:	5e                   	pop    %esi
434100:	5b                   	pop    %ebx
434101:	5d                   	pop    %ebp
434102:	c2 08 00             	ret    $0x8
434105:	b9 16 02 07 80       	mov    $0x80070216,%ecx
43410a:	e8 af 9d ff ff       	call   0x42debe
43410f:	cc                   	int3
434110:	8b ff                	mov    %edi,%edi
434112:	55                   	push   %ebp
434113:	8b ec                	mov    %esp,%ebp
434115:	56                   	push   %esi
434116:	57                   	push   %edi
434117:	8b 7d 08             	mov    0x8(%ebp),%edi
43411a:	8b f1                	mov    %ecx,%esi
43411c:	8b cf                	mov    %edi,%ecx
43411e:	e8 7e 5c fe ff       	call   0x419da1
434123:	8b 06                	mov    (%esi),%eax
434125:	57                   	push   %edi
434126:	68 8c 5e 40 00       	push   $0x405e8c
43412b:	50                   	push   %eax
43412c:	8b 08                	mov    (%eax),%ecx
43412e:	8b 31                	mov    (%ecx),%esi
434130:	8b ce                	mov    %esi,%ecx
434132:	ff 15 20 a5 43 00    	call   *0x43a520
434138:	ff d6                	call   *%esi
43413a:	5f                   	pop    %edi
43413b:	5e                   	pop    %esi
43413c:	5d                   	pop    %ebp
43413d:	c2 04 00             	ret    $0x4
434140:	8b ff                	mov    %edi,%edi
434142:	55                   	push   %ebp
434143:	8b ec                	mov    %esp,%ebp
434145:	51                   	push   %ecx
434146:	53                   	push   %ebx
434147:	57                   	push   %edi
434148:	8b 39                	mov    (%ecx),%edi
43414a:	33 db                	xor    %ebx,%ebx
43414c:	8b 49 04             	mov    0x4(%ecx),%ecx
43414f:	c1 e1 02             	shl    $0x2,%ecx
434152:	8d 04 39             	lea    (%ecx,%edi,1),%eax
434155:	c1 e9 02             	shr    $0x2,%ecx
434158:	3b c7                	cmp    %edi,%eax
43415a:	1b c0                	sbb    %eax,%eax
43415c:	f7 d0                	not    %eax
43415e:	23 c1                	and    %ecx,%eax
434160:	89 45 fc             	mov    %eax,-0x4(%ebp)
434163:	74 23                	je     0x434188
434165:	56                   	push   %esi
434166:	8b 0f                	mov    (%edi),%ecx
434168:	85 c9                	test   %ecx,%ecx
43416a:	74 13                	je     0x43417f
43416c:	8b 01                	mov    (%ecx),%eax
43416e:	51                   	push   %ecx
43416f:	8b 70 08             	mov    0x8(%eax),%esi
434172:	8b ce                	mov    %esi,%ecx
434174:	ff 15 20 a5 43 00    	call   *0x43a520
43417a:	ff d6                	call   *%esi
43417c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43417f:	83 c7 04             	add    $0x4,%edi
434182:	43                   	inc    %ebx
434183:	3b d8                	cmp    %eax,%ebx
434185:	75 df                	jne    0x434166
434187:	5e                   	pop    %esi
434188:	5f                   	pop    %edi
434189:	5b                   	pop    %ebx
43418a:	c9                   	leave
43418b:	c2 04 00             	ret    $0x4
43418e:	8b ff                	mov    %edi,%edi
434190:	55                   	push   %ebp
434191:	8b ec                	mov    %esp,%ebp
434193:	51                   	push   %ecx
434194:	53                   	push   %ebx
434195:	8b 5d 08             	mov    0x8(%ebp),%ebx
434198:	57                   	push   %edi
434199:	8b f9                	mov    %ecx,%edi
43419b:	85 db                	test   %ebx,%ebx
43419d:	75 07                	jne    0x4341a6
43419f:	21 1f                	and    %ebx,(%edi)
4341a1:	21 5f 04             	and    %ebx,0x4(%edi)
4341a4:	eb 62                	jmp    0x434208
4341a6:	56                   	push   %esi
4341a7:	8b 33                	mov    (%ebx),%esi
4341a9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4341ac:	50                   	push   %eax
4341ad:	68 3c 57 40 00       	push   $0x40573c
4341b2:	53                   	push   %ebx
4341b3:	8b 0e                	mov    (%esi),%ecx
4341b5:	ff 15 20 a5 43 00    	call   *0x43a520
4341bb:	ff 16                	call   *(%esi)
4341bd:	85 c0                	test   %eax,%eax
4341bf:	78 1e                	js     0x4341df
4341c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4341c4:	89 07                	mov    %eax,(%edi)
4341c6:	8b 03                	mov    (%ebx),%eax
4341c8:	53                   	push   %ebx
4341c9:	8b 70 08             	mov    0x8(%eax),%esi
4341cc:	8b ce                	mov    %esi,%ecx
4341ce:	ff 15 20 a5 43 00    	call   *0x43a520
4341d4:	ff d6                	call   *%esi
4341d6:	c7 47 04 07 00 00 00 	movl   $0x7,0x4(%edi)
4341dd:	eb 28                	jmp    0x434207
4341df:	3d 02 40 00 80       	cmp    $0x80004002,%eax
4341e4:	75 0b                	jne    0x4341f1
4341e6:	89 1f                	mov    %ebx,(%edi)
4341e8:	c7 47 04 03 00 00 00 	movl   $0x3,0x4(%edi)
4341ef:	eb 16                	jmp    0x434207
4341f1:	83 27 00             	andl   $0x0,(%edi)
4341f4:	89 47 04             	mov    %eax,0x4(%edi)
4341f7:	8b 03                	mov    (%ebx),%eax
4341f9:	53                   	push   %ebx
4341fa:	8b 70 08             	mov    0x8(%eax),%esi
4341fd:	8b ce                	mov    %esi,%ecx
4341ff:	ff 15 20 a5 43 00    	call   *0x43a520
434205:	ff d6                	call   *%esi
434207:	5e                   	pop    %esi
434208:	8b c7                	mov    %edi,%eax
43420a:	5f                   	pop    %edi
43420b:	5b                   	pop    %ebx
43420c:	c9                   	leave
43420d:	c2 0c 00             	ret    $0xc
434210:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
434214:	74 08                	je     0x43421e
434216:	8b 11                	mov    (%ecx),%edx
434218:	8b 41 04             	mov    0x4(%ecx),%eax
43421b:	89 42 04             	mov    %eax,0x4(%edx)
43421e:	c3                   	ret
43421f:	e9 37 05 00 00       	jmp    0x43475b
434224:	8b ff                	mov    %edi,%edi
434226:	56                   	push   %esi
434227:	8b f1                	mov    %ecx,%esi
434229:	ff 36                	push   (%esi)
43422b:	ff 15 50 a3 43 00    	call   *0x43a350
434231:	83 26 00             	andl   $0x0,(%esi)
434234:	5e                   	pop    %esi
434235:	c3                   	ret
434236:	83 61 14 00          	andl   $0x0,0x14(%ecx)
43423a:	c3                   	ret
43423b:	8b ff                	mov    %edi,%edi
43423d:	55                   	push   %ebp
43423e:	8b ec                	mov    %esp,%ebp
434240:	6a ff                	push   $0xffffffff
434242:	68 24 f0 41 00       	push   $0x41f024
434247:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43424d:	50                   	push   %eax
43424e:	a1 08 85 43 00       	mov    0x438508,%eax
434253:	33 c5                	xor    %ebp,%eax
434255:	50                   	push   %eax
434256:	8d 45 f4             	lea    -0xc(%ebp),%eax
434259:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43425f:	ff 71 04             	push   0x4(%ecx)
434262:	8b 09                	mov    (%ecx),%ecx
434264:	e8 62 00 00 00       	call   0x4342cb
434269:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43426c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
434273:	59                   	pop    %ecx
434274:	c9                   	leave
434275:	c3                   	ret
434276:	8b ff                	mov    %edi,%edi
434278:	55                   	push   %ebp
434279:	8b ec                	mov    %esp,%ebp
43427b:	6a ff                	push   $0xffffffff
43427d:	68 6e e2 41 00       	push   $0x41e26e
434282:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
434288:	50                   	push   %eax
434289:	56                   	push   %esi
43428a:	a1 08 85 43 00       	mov    0x438508,%eax
43428f:	33 c5                	xor    %ebp,%eax
434291:	50                   	push   %eax
434292:	8d 45 f4             	lea    -0xc(%ebp),%eax
434295:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43429b:	8b 11                	mov    (%ecx),%edx
43429d:	85 d2                	test   %edx,%edx
43429f:	74 1c                	je     0x4342bd
4342a1:	83 79 04 03          	cmpl   $0x3,0x4(%ecx)
4342a5:	74 06                	je     0x4342ad
4342a7:	83 79 04 07          	cmpl   $0x7,0x4(%ecx)
4342ab:	75 10                	jne    0x4342bd
4342ad:	8b 02                	mov    (%edx),%eax
4342af:	52                   	push   %edx
4342b0:	8b 70 08             	mov    0x8(%eax),%esi
4342b3:	8b ce                	mov    %esi,%ecx
4342b5:	ff 15 20 a5 43 00    	call   *0x43a520
4342bb:	ff d6                	call   *%esi
4342bd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4342c0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4342c7:	59                   	pop    %ecx
4342c8:	5e                   	pop    %esi
4342c9:	c9                   	leave
4342ca:	c3                   	ret
4342cb:	8b ff                	mov    %edi,%edi
4342cd:	55                   	push   %ebp
4342ce:	8b ec                	mov    %esp,%ebp
4342d0:	51                   	push   %ecx
4342d1:	51                   	push   %ecx
4342d2:	53                   	push   %ebx
4342d3:	56                   	push   %esi
4342d4:	57                   	push   %edi
4342d5:	51                   	push   %ecx
4342d6:	51                   	push   %ecx
4342d7:	ff 75 08             	push   0x8(%ebp)
4342da:	8b d9                	mov    %ecx,%ebx
4342dc:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4342df:	e8 aa fe ff ff       	call   0x43418e
4342e4:	8b 75 f8             	mov    -0x8(%ebp),%esi
4342e7:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4342ea:	8b 7d fc             	mov    -0x4(%ebp),%edi
4342ed:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4342f1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4342f5:	e8 7c ff ff ff       	call   0x434276
4342fa:	8b 03                	mov    (%ebx),%eax
4342fc:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4342ff:	89 45 f8             	mov    %eax,-0x8(%ebp)
434302:	8b 43 04             	mov    0x4(%ebx),%eax
434305:	89 33                	mov    %esi,(%ebx)
434307:	89 7b 04             	mov    %edi,0x4(%ebx)
43430a:	89 45 fc             	mov    %eax,-0x4(%ebp)
43430d:	e8 64 ff ff ff       	call   0x434276
434312:	5f                   	pop    %edi
434313:	5e                   	pop    %esi
434314:	5b                   	pop    %ebx
434315:	c9                   	leave
434316:	c2 04 00             	ret    $0x4
434319:	8b ff                	mov    %edi,%edi
43431b:	55                   	push   %ebp
43431c:	8b ec                	mov    %esp,%ebp
43431e:	8b 55 10             	mov    0x10(%ebp),%edx
434321:	8b 45 0c             	mov    0xc(%ebp),%eax
434324:	3b d0                	cmp    %eax,%edx
434326:	72 03                	jb     0x43432b
434328:	8d 50 ff             	lea    -0x1(%eax),%edx
43432b:	8d 41 14             	lea    0x14(%ecx),%eax
43432e:	50                   	push   %eax
43432f:	51                   	push   %ecx
434330:	52                   	push   %edx
434331:	ff 75 08             	push   0x8(%ebp)
434334:	ff 15 54 a3 43 00    	call   *0x43a354
43433a:	85 c0                	test   %eax,%eax
43433c:	79 07                	jns    0x434345
43433e:	8b c8                	mov    %eax,%ecx
434340:	e8 79 9b ff ff       	call   0x42debe
434345:	5d                   	pop    %ebp
434346:	c2 0c 00             	ret    $0xc
434349:	6a 3c                	push   $0x3c
43434b:	b8 74 fa 41 00       	mov    $0x41fa74,%eax
434350:	e8 ec 6a fe ff       	call   0x41ae41
434355:	8b fa                	mov    %edx,%edi
434357:	8b 5d 08             	mov    0x8(%ebp),%ebx
43435a:	33 c9                	xor    %ecx,%ecx
43435c:	c7 45 d0 74 5d 40 00 	movl   $0x405d74,-0x30(%ebp)
434363:	89 4d c8             	mov    %ecx,-0x38(%ebp)
434366:	89 4d cc             	mov    %ecx,-0x34(%ebp)
434369:	89 0b                	mov    %ecx,(%ebx)
43436b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43436e:	8d 45 c8             	lea    -0x38(%ebp),%eax
434371:	89 45 c0             	mov    %eax,-0x40(%ebp)
434374:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
434377:	ff 75 d0             	push   -0x30(%ebp)
43437a:	8d 45 d0             	lea    -0x30(%ebp),%eax
43437d:	50                   	push   %eax
43437e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
434381:	e8 3d fd ff ff       	call   0x4340c3
434386:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
43438a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
43438d:	8b 37                	mov    (%edi),%esi
43438f:	51                   	push   %ecx
434390:	ff 70 14             	push   0x14(%eax)
434393:	8b 4e 18             	mov    0x18(%esi),%ecx
434396:	57                   	push   %edi
434397:	ff 15 20 a5 43 00    	call   *0x43a520
43439d:	ff 56 18             	call   *0x18(%esi)
4343a0:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4343a4:	8b f0                	mov    %eax,%esi
4343a6:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4343aa:	ff 75 c4             	push   -0x3c(%ebp)
4343ad:	8b 4d c0             	mov    -0x40(%ebp),%ecx