431f3f:	3b f2                	cmp    %edx,%esi
431f41:	75 d7                	jne    0x431f1a
431f43:	6a 02                	push   $0x2
431f45:	50                   	push   %eax
431f46:	53                   	push   %ebx
431f47:	e8 16 5c ff ff       	call   0x427b62
431f4c:	8b f0                	mov    %eax,%esi
431f4e:	83 c4 0c             	add    $0xc,%esp
431f51:	85 f6                	test   %esi,%esi
431f53:	75 19                	jne    0x431f6e
431f55:	50                   	push   %eax
431f56:	e8 5f 89 ff ff       	call   0x42a8ba
431f5b:	59                   	pop    %ecx
431f5c:	83 cf ff             	or     $0xffffffff,%edi
431f5f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
431f62:	e8 d3 02 00 00       	call   0x43223a
431f67:	8b c7                	mov    %edi,%eax
431f69:	e9 86 00 00 00       	jmp    0x431ff4
431f6e:	8d 04 9e             	lea    (%esi,%ebx,4),%eax
431f71:	8b 5d e0             	mov    -0x20(%ebp),%ebx
431f74:	89 45 d4             	mov    %eax,-0x2c(%ebp)
431f77:	8b d0                	mov    %eax,%edx
431f79:	89 55 f0             	mov    %edx,-0x10(%ebp)
431f7c:	3b fb                	cmp    %ebx,%edi
431f7e:	74 5c                	je     0x431fdc
431f80:	8b c6                	mov    %esi,%eax
431f82:	2b c7                	sub    %edi,%eax
431f84:	89 45 f4             	mov    %eax,-0xc(%ebp)
431f87:	8b 0f                	mov    (%edi),%ecx
431f89:	8d 41 02             	lea    0x2(%ecx),%eax
431f8c:	89 45 e8             	mov    %eax,-0x18(%ebp)
431f8f:	66 8b 01             	mov    (%ecx),%ax
431f92:	83 c1 02             	add    $0x2,%ecx
431f95:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
431f99:	75 f4                	jne    0x431f8f
431f9b:	2b 4d e8             	sub    -0x18(%ebp),%ecx
431f9e:	d1 f9                	sar    $1,%ecx
431fa0:	8d 41 01             	lea    0x1(%ecx),%eax
431fa3:	8b ca                	mov    %edx,%ecx
431fa5:	2b 4d d4             	sub    -0x2c(%ebp),%ecx
431fa8:	50                   	push   %eax
431fa9:	ff 37                	push   (%edi)
431fab:	89 45 e8             	mov    %eax,-0x18(%ebp)
431fae:	8b 45 ec             	mov    -0x14(%ebp),%eax
431fb1:	d1 f9                	sar    $1,%ecx
431fb3:	2b c1                	sub    %ecx,%eax
431fb5:	50                   	push   %eax
431fb6:	52                   	push   %edx
431fb7:	e8 6e 2b ff ff       	call   0x424b2a
431fbc:	83 c4 10             	add    $0x10,%esp
431fbf:	85 c0                	test   %eax,%eax
431fc1:	75 40                	jne    0x432003
431fc3:	8b 45 f4             	mov    -0xc(%ebp),%eax
431fc6:	8b 55 f0             	mov    -0x10(%ebp),%edx
431fc9:	89 14 38             	mov    %edx,(%eax,%edi,1)
431fcc:	83 c7 04             	add    $0x4,%edi
431fcf:	8b 45 e8             	mov    -0x18(%ebp),%eax
431fd2:	8d 14 42             	lea    (%edx,%eax,2),%edx
431fd5:	89 55 f0             	mov    %edx,-0x10(%ebp)
431fd8:	3b fb                	cmp    %ebx,%edi
431fda:	75 ab                	jne    0x431f87
431fdc:	8b 45 d0             	mov    -0x30(%ebp),%eax
431fdf:	89 30                	mov    %esi,(%eax)
431fe1:	33 c0                	xor    %eax,%eax
431fe3:	50                   	push   %eax
431fe4:	e8 d1 88 ff ff       	call   0x42a8ba
431fe9:	59                   	pop    %ecx
431fea:	8d 4d dc             	lea    -0x24(%ebp),%ecx
431fed:	e8 48 02 00 00       	call   0x43223a
431ff2:	33 c0                	xor    %eax,%eax
431ff4:	5f                   	pop    %edi
431ff5:	5b                   	pop    %ebx
431ff6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
431ff9:	33 cd                	xor    %ebp,%ecx
431ffb:	5e                   	pop    %esi
431ffc:	e8 a9 7b fe ff       	call   0x419baa
432001:	c9                   	leave
432002:	c3                   	ret
432003:	33 c0                	xor    %eax,%eax
432005:	50                   	push   %eax
432006:	50                   	push   %eax
432007:	50                   	push   %eax
432008:	50                   	push   %eax
432009:	50                   	push   %eax
43200a:	e8 a1 d9 fe ff       	call   0x41f9b0
43200f:	cc                   	int3
432010:	8b ff                	mov    %edi,%edi
432012:	55                   	push   %ebp
432013:	8b ec                	mov    %esp,%ebp
432015:	51                   	push   %ecx
432016:	8b 4d 08             	mov    0x8(%ebp),%ecx
432019:	53                   	push   %ebx
43201a:	57                   	push   %edi
43201b:	33 db                	xor    %ebx,%ebx
43201d:	8d 51 02             	lea    0x2(%ecx),%edx
432020:	66 8b 01             	mov    (%ecx),%ax
432023:	83 c1 02             	add    $0x2,%ecx
432026:	66 3b c3             	cmp    %bx,%ax
432029:	75 f5                	jne    0x432020
43202b:	8b 7d 10             	mov    0x10(%ebp),%edi
43202e:	2b ca                	sub    %edx,%ecx
432030:	d1 f9                	sar    $1,%ecx
432032:	8b c7                	mov    %edi,%eax
432034:	41                   	inc    %ecx
432035:	f7 d0                	not    %eax
432037:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43203a:	3b c8                	cmp    %eax,%ecx
43203c:	76 07                	jbe    0x432045
43203e:	6a 0c                	push   $0xc
432040:	58                   	pop    %eax
432041:	5f                   	pop    %edi
432042:	5b                   	pop    %ebx
432043:	c9                   	leave
432044:	c3                   	ret
432045:	56                   	push   %esi
432046:	8d 5f 01             	lea    0x1(%edi),%ebx
432049:	03 d9                	add    %ecx,%ebx
43204b:	6a 02                	push   $0x2
43204d:	53                   	push   %ebx
43204e:	e8 c7 b0 ff ff       	call   0x42d11a
432053:	8b f0                	mov    %eax,%esi
432055:	59                   	pop    %ecx
432056:	59                   	pop    %ecx
432057:	85 ff                	test   %edi,%edi
432059:	74 12                	je     0x43206d
43205b:	57                   	push   %edi
43205c:	ff 75 0c             	push   0xc(%ebp)
43205f:	53                   	push   %ebx
432060:	56                   	push   %esi
432061:	e8 c4 2a ff ff       	call   0x424b2a
432066:	83 c4 10             	add    $0x10,%esp
432069:	85 c0                	test   %eax,%eax
43206b:	75 4a                	jne    0x4320b7
43206d:	ff 75 fc             	push   -0x4(%ebp)
432070:	2b df                	sub    %edi,%ebx
432072:	8d 04 7e             	lea    (%esi,%edi,2),%eax
432075:	ff 75 08             	push   0x8(%ebp)
432078:	53                   	push   %ebx
432079:	50                   	push   %eax
43207a:	e8 ab 2a ff ff       	call   0x424b2a
43207f:	83 c4 10             	add    $0x10,%esp
432082:	85 c0                	test   %eax,%eax
432084:	75 31                	jne    0x4320b7
432086:	8b 7d 14             	mov    0x14(%ebp),%edi
432089:	8b cf                	mov    %edi,%ecx
43208b:	e8 f3 01 00 00       	call   0x432283
432090:	8b d8                	mov    %eax,%ebx
432092:	85 db                	test   %ebx,%ebx
432094:	74 09                	je     0x43209f
432096:	56                   	push   %esi
432097:	e8 1e 88 ff ff       	call   0x42a8ba
43209c:	59                   	pop    %ecx
43209d:	eb 0b                	jmp    0x4320aa
43209f:	8b 47 04             	mov    0x4(%edi),%eax
4320a2:	89 30                	mov    %esi,(%eax)
4320a4:	83 47 04 04          	addl   $0x4,0x4(%edi)
4320a8:	33 db                	xor    %ebx,%ebx
4320aa:	6a 00                	push   $0x0
4320ac:	e8 09 88 ff ff       	call   0x42a8ba
4320b1:	59                   	pop    %ecx
4320b2:	8b c3                	mov    %ebx,%eax
4320b4:	5e                   	pop    %esi
4320b5:	eb 8a                	jmp    0x432041
4320b7:	33 c0                	xor    %eax,%eax
4320b9:	50                   	push   %eax
4320ba:	50                   	push   %eax
4320bb:	50                   	push   %eax
4320bc:	50                   	push   %eax
4320bd:	50                   	push   %eax
4320be:	e8 ed d8 fe ff       	call   0x41f9b0
4320c3:	cc                   	int3
4320c4:	8b ff                	mov    %edi,%edi
4320c6:	55                   	push   %ebp
4320c7:	8b ec                	mov    %esp,%ebp
4320c9:	81 ec 64 02 00 00    	sub    $0x264,%esp
4320cf:	a1 14 50 45 00       	mov    0x455014,%eax
4320d4:	33 c5                	xor    %ebp,%eax
4320d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4320d9:	8b 55 0c             	mov    0xc(%ebp),%edx
4320dc:	8b 4d 10             	mov    0x10(%ebp),%ecx
4320df:	53                   	push   %ebx
4320e0:	56                   	push   %esi
4320e1:	57                   	push   %edi
4320e2:	8b 7d 08             	mov    0x8(%ebp),%edi
4320e5:	89 8d a4 fd ff ff    	mov    %ecx,-0x25c(%ebp)
4320eb:	3b d7                	cmp    %edi,%edx
4320ed:	74 20                	je     0x43210f
4320ef:	0f b7 02             	movzwl (%edx),%eax
4320f2:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
4320f8:	50                   	push   %eax
4320f9:	e8 61 01 00 00       	call   0x43225f
4320fe:	84 c0                	test   %al,%al
432100:	75 07                	jne    0x432109
432102:	83 ea 02             	sub    $0x2,%edx
432105:	3b d7                	cmp    %edi,%edx
432107:	75 e6                	jne    0x4320ef
432109:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
43210f:	0f b7 32             	movzwl (%edx),%esi
432112:	83 fe 3a             	cmp    $0x3a,%esi
432115:	75 1a                	jne    0x432131
432117:	8d 47 02             	lea    0x2(%edi),%eax
43211a:	3b d0                	cmp    %eax,%edx
43211c:	74 13                	je     0x432131
43211e:	51                   	push   %ecx
43211f:	33 db                	xor    %ebx,%ebx
432121:	53                   	push   %ebx
432122:	53                   	push   %ebx
432123:	57                   	push   %edi
432124:	e8 e7 fe ff ff       	call   0x432010
432129:	83 c4 10             	add    $0x10,%esp
43212c:	e9 fa 00 00 00       	jmp    0x43222b
432131:	56                   	push   %esi
432132:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
432138:	e8 22 01 00 00       	call   0x43225f
43213d:	2b d7                	sub    %edi,%edx
43213f:	0f b6 c0             	movzbl %al,%eax
432142:	d1 fa                	sar    $1,%edx
432144:	42                   	inc    %edx
432145:	f7 d8                	neg    %eax
432147:	1b c0                	sbb    %eax,%eax
432149:	33 db                	xor    %ebx,%ebx
43214b:	53                   	push   %ebx
43214c:	53                   	push   %ebx
43214d:	23 c2                	and    %edx,%eax
43214f:	53                   	push   %ebx
432150:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
432156:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
43215c:	50                   	push   %eax
43215d:	53                   	push   %ebx
43215e:	57                   	push   %edi
43215f:	ff 15 94 e0 43 00    	call   *0x43e094
432165:	8b f0                	mov    %eax,%esi
432167:	83 fe ff             	cmp    $0xffffffff,%esi
43216a:	75 08                	jne    0x432174
43216c:	ff b5 a4 fd ff ff    	push   -0x25c(%ebp)
432172:	eb ad                	jmp    0x432121
432174:	8b 9d a4 fd ff ff    	mov    -0x25c(%ebp),%ebx
43217a:	6a 2e                	push   $0x2e
43217c:	8b 43 04             	mov    0x4(%ebx),%eax
43217f:	2b 03                	sub    (%ebx),%eax
432181:	c1 f8 02             	sar    $0x2,%eax
432184:	89 85 a4 fd ff ff    	mov    %eax,-0x25c(%ebp)
43218a:	58                   	pop    %eax
43218b:	66 39 85 d8 fd ff ff 	cmp    %ax,-0x228(%ebp)
432192:	75 1d                	jne    0x4321b1
432194:	66 83 bd da fd ff ff 	cmpw   $0x0,-0x226(%ebp)
43219b:	00
43219c:	74 34                	je     0x4321d2
43219e:	66 39 85 da fd ff ff 	cmp    %ax,-0x226(%ebp)
4321a5:	75 0a                	jne    0x4321b1
4321a7:	66 83 bd dc fd ff ff 	cmpw   $0x0,-0x224(%ebp)
4321ae:	00
4321af:	74 21                	je     0x4321d2
4321b1:	53                   	push   %ebx
4321b2:	ff b5 a0 fd ff ff    	push   -0x260(%ebp)
4321b8:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
4321be:	57                   	push   %edi
4321bf:	50                   	push   %eax
4321c0:	e8 4b fe ff ff       	call   0x432010
4321c5:	83 c4 10             	add    $0x10,%esp
4321c8:	89 85 9c fd ff ff    	mov    %eax,-0x264(%ebp)
4321ce:	85 c0                	test   %eax,%eax
4321d0:	75 4c                	jne    0x43221e
4321d2:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
4321d8:	50                   	push   %eax
4321d9:	56                   	push   %esi
4321da:	ff 15 a0 e0 43 00    	call   *0x43e0a0
4321e0:	6a 2e                	push   $0x2e
4321e2:	85 c0                	test   %eax,%eax
4321e4:	58                   	pop    %eax
4321e5:	75 a4                	jne    0x43218b
4321e7:	8b 43 04             	mov    0x4(%ebx),%eax
4321ea:	8b 13                	mov    (%ebx),%edx
4321ec:	2b c2                	sub    %edx,%eax
4321ee:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
4321f4:	c1 f8 02             	sar    $0x2,%eax
4321f7:	3b c8                	cmp    %eax,%ecx
4321f9:	75 0b                	jne    0x432206
4321fb:	56                   	push   %esi
4321fc:	ff 15 b0 e0 43 00    	call   *0x43e0b0
432202:	33 c0                	xor    %eax,%eax
432204:	eb 25                	jmp    0x43222b
432206:	68 40 1e 43 00       	push   $0x431e40
43220b:	2b c1                	sub    %ecx,%eax
43220d:	6a 04                	push   $0x4
43220f:	50                   	push   %eax
432210:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
432213:	50                   	push   %eax
432214:	e8 77 6b 00 00       	call   0x438d90
432219:	83 c4 10             	add    $0x10,%esp
43221c:	eb dd                	jmp    0x4321fb
43221e:	56                   	push   %esi
43221f:	ff 15 b0 e0 43 00    	call   *0x43e0b0
432225:	8b 85 9c fd ff ff    	mov    -0x264(%ebp),%eax
43222b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43222e:	5f                   	pop    %edi
43222f:	5e                   	pop    %esi
432230:	33 cd                	xor    %ebp,%ecx
432232:	5b                   	pop    %ebx
432233:	e8 72 79 fe ff       	call   0x419baa
432238:	c9                   	leave
432239:	c3                   	ret
43223a:	8b ff                	mov    %edi,%edi
43223c:	56                   	push   %esi
43223d:	57                   	push   %edi
43223e:	8b f9                	mov    %ecx,%edi
432240:	8b 37                	mov    (%edi),%esi
432242:	eb 0b                	jmp    0x43224f
432244:	ff 36                	push   (%esi)
432246:	e8 6f 86 ff ff       	call   0x42a8ba
43224b:	59                   	pop    %ecx
43224c:	83 c6 04             	add    $0x4,%esi
43224f:	3b 77 04             	cmp    0x4(%edi),%esi
432252:	75 f0                	jne    0x432244
432254:	ff 37                	push   (%edi)
432256:	e8 5f 86 ff ff       	call   0x42a8ba
43225b:	59                   	pop    %ecx
43225c:	5f                   	pop    %edi
43225d:	5e                   	pop    %esi
43225e:	c3                   	ret
43225f:	8b ff                	mov    %edi,%edi
432261:	55                   	push   %ebp
432262:	8b ec                	mov    %esp,%ebp
432264:	66 83 7d 08 2f       	cmpw   $0x2f,0x8(%ebp)
432269:	74 12                	je     0x43227d
43226b:	66 83 7d 08 5c       	cmpw   $0x5c,0x8(%ebp)
432270:	74 0b                	je     0x43227d
432272:	66 83 7d 08 3a       	cmpw   $0x3a,0x8(%ebp)
432277:	74 04                	je     0x43227d
432279:	32 c0                	xor    %al,%al
43227b:	eb 02                	jmp    0x43227f
43227d:	b0 01                	mov    $0x1,%al
43227f:	5d                   	pop    %ebp
432280:	c2 04 00             	ret    $0x4
432283:	8b ff                	mov    %edi,%edi
432285:	56                   	push   %esi
432286:	8b f1                	mov    %ecx,%esi
432288:	57                   	push   %edi
432289:	8b 7e 08             	mov    0x8(%esi),%edi
43228c:	39 7e 04             	cmp    %edi,0x4(%esi)
43228f:	74 04                	je     0x432295
432291:	33 c0                	xor    %eax,%eax
432293:	eb 72                	jmp    0x432307
432295:	83 3e 00             	cmpl   $0x0,(%esi)
432298:	75 26                	jne    0x4322c0
43229a:	6a 04                	push   $0x4
43229c:	6a 04                	push   $0x4
43229e:	e8 77 ae ff ff       	call   0x42d11a
4322a3:	6a 00                	push   $0x0
4322a5:	89 06                	mov    %eax,(%esi)